Consultar estadísticas de Assemblies
Devuelve el número de Assemblies de una región y un intervalo de tiempo determinados.
https://api2.transloadit.com/ assembly_statsEl ejemplo incluye Assemblies con y sin un Template en la región y el intervalo de tiempo solicitados.
Si omites template_id, solo se seleccionan las Assemblies creadas sin un Template.
Ejemplo de solicitud
Ejecuta esta solicitud en un intérprete de comandos del lado del servidor con curl y un token Bearer adecuado en TRANSLOADIT_TOKEN. Si necesitas un token, despliega la configuración que aparece a continuación.
Este ejemplo también usa jq para codificar valores dinámicos como JSON.
¿Necesitas un token Bearer?
En un intérprete de comandos de confianza del lado del servidor con curl y jq, asigna a TRANSLOADIT_KEY y TRANSLOADIT_SECRET los valores de tu Auth Key y tu Auth Secret, respectivamente. Mantén en secreto ambas credenciales y el token resultante; nunca ejecutes esta configuración en código del navegador.
Primero, crea un token con los ámbitos que requiere este endpoint. Tu Auth Key ya debe conceder esos ámbitos.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=assemblies:read')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Mantén abierto este intérprete de comandos y ejecuta la solicitud que aparece a continuación. Reutiliza el token mientras siga siendo válido.
SINCE="$(date -u +%Y-%m-%dT00:00:00Z)"
PARAMS="$(jq -cn --arg since "${SINCE:?Set SINCE}" '{"region":"us-east-1","since":$since,"template_id":"all"}')"
curl --fail-with-body -sS --request GET --get \
--url "https://api2.transloadit.com/assembly_stats" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode "params=$PARAMS"
Autenticación
Este endpoint acepta params firmados o un token Bearer. Consulta Autenticación para ver las instrucciones de configuración.
Ámbito requerido para el Auth Key o el token de portador: assemblies:read.
Las solicitudes firmadas requieren tanto una signature como una marca de tiempo futura en params.auth.expires. Los tokens Bearer no requieren ninguno de estos dos elementos.
Parámetros de consulta
params(cadena JSON), obligatorio. Un objeto codificado en JSON cuyas claves compatibles se enumeran a continuación.signature(cadena). Obligatorio para las solicitudes firmadas. Omite este campo cuando uses un token Bearer.
Claves admitidas dentro del campo params
Los campos de autenticación de esta lista se aplican a las solicitudes firmadas. Con un token Bearer puedes omitir params.auth y el campo separado signature. Compara a continuación los parámetros de solicitud de cada método de autenticación.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
| Campo | Tipo y descripción |
|---|---|
params.obligatorio para las solicitudes firmadas; opcional con un token Bearer | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para una solicitud de estadísticas de Assembly.
|
params.obligatorio | stringMarca de tiempo de vencimiento ISO 8601 en el futuro. Es obligatoria cuando una solicitud está firmada o requiere autenticación mediante firma; las solicitudes autenticadas con Bearer pueden omitirla. |
params.obligatorio | stringClave de API de Transloadit utilizada para autenticar solicitudes |
params. | string | integerValor aleatorio y único incluido en los parámetros de las solicitudes firmadas para que cada firma sea única y evitar su reutilización accidental. |
params. | string | integerValor aleatorio y único incluido en los parámetros de las solicitudes firmadas para que cada firma sea única y evitar su reutilización accidental. |
params.obligatorio | string (longitud mínima: 1)Región que se incluirá, o |
params.obligatorio | string (longitud mínima: 1)Fecha y hora de inicio del período estadístico, como máximo hace 91 días. Se recomienda ISO 8601; API2 también conserva las cadenas de fecha que acepta su analizador existente. Un período anterior más largo se rechaza con el error de tiempo no válido del endpoint. |
params. | null | stringID del Template que se incluirá, o |
Parámetros de solicitud según el método de autenticación
Con parámetros firmados
Incluye tu Auth Key como params.auth.key. Al firmar la solicitud, incluye una marca de tiempo futura en params.auth.expires y envía la Signature en el campo separado signature. Las definiciones de los campos que aparecen a continuación usan rutas dentro de params.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
Utiliza las definiciones de campos indicadas arriba: params.auth, params.nonce, params.region, params.since, params.template_id
Con un token Bearer
Envía el token Bearer en el encabezado Authorization. Puedes omitir params.auth y el campo independiente signature. Los demás parámetros obligatorios siguen siendo necesarios. Las definiciones de los campos que aparecen a continuación usan rutas dentro de params.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
Utiliza las definiciones de campos indicadas arriba: params.nonce, params.region, params.since, params.template_id
| Campo | Tipo y descripción |
|---|---|
params. | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para una solicitud de estadísticas de Assembly.
|
params. | stringMarca de tiempo de vencimiento ISO 8601 en el futuro. Es obligatoria cuando una solicitud está firmada o requiere autenticación mediante firma; las solicitudes autenticadas con Bearer pueden omitirla. |
params. | stringClave de API de Transloadit utilizada para autenticar solicitudes |
params. | string | integerValor aleatorio y único incluido en los parámetros de las solicitudes firmadas para que cada firma sea única y evitar su reutilización accidental. |
Respuesta
Este es un ejemplo del cuerpo de la respuesta:
{
"errorStats": [
{
"data_from_ts": 1789200000,
"error": "FILE_IMPORT_FAILED",
"num_erroneous_assemblies": 1
}
],
"errorStatsGranularity": 60,
"errorStatsTotals": [
{
"error": "FILE_IMPORT_FAILED",
"num_erroneous_assemblies": 1
}
],
"granularity": 60,
"ok": "ASSEMBLY_STATS_FOUND",
"stats": [
{
"avg_execution_duration": 2,
"avg_input_file_sizes": 100000,
"avg_live_queue_duration": 0.5,
"avg_output_file_sizes": 90000,
"avg_processing_speed": 0.4,
"avg_upload_duration": 1,
"avg_upload_speed": 0.8,
"data_from_ts": 1789200000,
"num_assemblies": 10,
"num_bytes": 1000000,
"num_cancelled_assemblies": 0,
"num_erroneous_assemblies": 1,
"num_files": 10,
"num_request_aborted_assemblies": 0,
"num_successful_assemblies": 9,
"total_bytes_usage": 1000000,
"total_execution_duration": 20,
"total_live_queue_duration": 5,
"total_num_output_files": 9,
"total_num_uploaded_bytes": 1000000,
"total_output_file_sizes": 900000,
"total_upload_duration": 10
}
],
"totalAssemblies": 10,
"totalBytesProcessed": 1000000,
"totalBytesUploaded": 1000000,
"totalExecutionDuration": 20,
"totalFilesProcessed": 10,
"totalLiveQueueDuration": 5,
"totalOutputBytesProcessed": 900000,
"totalOutputFilesProcessed": 9,
"totalUploadDuration": 10,
"totalUsage": 1000000
}éxito 2xx
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta contiene únicamente los campos listados para este objeto.
| Campo | Tipo y descripción | ||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errorStatsobligatorio | Array<object>Esquema de los elementos del array
| ||||||||||||||||||||||||||||||||||||||||||||||
errorStatsGranularityobligatorio | integer (mínimo exclusivo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
errorStatsTotalsobligatorio | Array<object>Esquema de los elementos del array
| ||||||||||||||||||||||||||||||||||||||||||||||
granularityobligatorio | integer (mínimo exclusivo: 0)Duración de cada intervalo estadístico en segundos. | ||||||||||||||||||||||||||||||||||||||||||||||
okobligatorio | string (siempre: "ASSEMBLY_STATS_FOUND") | ||||||||||||||||||||||||||||||||||||||||||||||
statsobligatorio | Array<object>Esquema de los elementos del array
| ||||||||||||||||||||||||||||||||||||||||||||||
totalAssembliesobligatorio | integer (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalBytesProcessedobligatorio | integer (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalBytesUploadedobligatorio | integer (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalExecutionDurationobligatorio | number (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalFilesProcessedobligatorio | integer (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalLiveQueueDurationobligatorio | number (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalOutputBytesProcessedobligatorio | integer (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalOutputFilesProcessedobligatorio | integer (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalUploadDurationobligatorio | number (mínimo: 0) | ||||||||||||||||||||||||||||||||||||||||||||||
totalUsageobligatorio | integer (mínimo: 0) |
HTTP 400
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
Errores con nombre y el formato general de error
error: "ASSEMBLY_STATS_INVALID_TIME"
Falta el tiempo since o es incorrecto.
La respuesta puede contener campos adicionales.
error: "ASSEMBLY_STATS_MISSING_REGION"
Debes proporcionar una region específica o "all".
La respuesta puede contener campos adicionales.
Formato general de error
HTTP 500
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
Errores con nombre y el formato general de error
error: "ASSEMBLY_STATS_ERROR"
No se pudieron cargar las estadísticas de la Assembly.
La respuesta puede contener campos adicionales.
Formato general de error
Respuesta de error
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta puede contener campos adicionales.
| Campo | Tipo y descripción |
|---|---|
assembly_id | string |
error | string (longitud mínima: 1) |
http_code | number | string
|
message | stringExplicación del error legible por humanos. Su redacción puede variar; usa el código |
reason | null | string | number | boolean | Array<cualquier valor> | objectPuede aplicarse cualquiera de los esquemas siguientes: nullnullstringstringnumbernumberbooleanbooleanArray<cualquier valor>Array<cualquier valor>Esquema de los elementos del arraycualquier valorobjectobjectEsquema de propiedades adicionalescualquier valor |