En esta página se describe cómo gestionar el ciclo de vida de una operación de larga duración (OLD) de la API Video Stitcher.
Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar mucho tiempo en completarse. Por ejemplo, la API Video Stitcher crea un LRO cada vez que llamas a projects.locations.liveConfigs.create
.
La LRO monitoriza el estado del trabajo de procesamiento.
Puedes usar los métodos projects.locations.operations
que proporciona la API Video Stitcher para comprobar el estado de las operaciones de larga duración. También puedes listar, cancelar o eliminar LROs.
Las operaciones de larga duración se gestionan a nivel de Google Cloud proyecto y ubicación. Cuando hagas una solicitud a la API, incluye el Google Cloud proyecto y la ubicación en la que se está ejecutando la operación de larga duración.
El registro de una operación de larga duración se conserva durante aproximadamente 30 días después de que finalice, lo que significa que no puedes ver ni enumerar una operación de larga duración después de ese periodo.
Obtener detalles sobre una operación de larga duración
Supongamos que has creado una configuración en directo.
El valor name
de la respuesta muestra que la API Video Stitcher ha creado una operación de larga duración llamada projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID
.
Para comprobar si se ha creado el endpoint de entrada, usa el método projects.locations.operations.get
. Si la respuesta contiene "done": false
, repite el comando hasta que la respuesta contenga "done": true
. Esta operación puede tardar unos minutos en completarse.
También puedes obtener el nombre de la LRO enumerando las operaciones de larga duración.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: tu número de proyecto; se encuentra en el campo Número de proyecto de la página Configuración de gestión de identidades y accesos. Google CloudLOCATION
: la ubicación de los datos. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: el identificador de la operación
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.common.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig", "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "sourceUri": "SOURCE_LIVESTREAM_URI", "adTagUri": "AD_TAG_URI", "state": "READY", "adTracking": "CLIENT", "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "stitchingPolicy": "CUT_CURRENT", "defaultAdBreakDuration": "30s" } }
Si la operación falla, recibirás información sobre el error en forma de objeto error
para ayudarte a solucionar el problema.
{
"error": {
"code": 404,
"message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
"status": "NOT_FOUND"
}
}
Crear una lista de operaciones de larga duración
Para obtener una lista con todas las operaciones de una ubicación concreta, usa el método
projects.locations.operations.list
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: número de tu proyecto. Google Cloud Se encuentra en el campo Número de proyecto de la página Configuración de gestión de identidades y accesos.LOCATION
: la ubicación de las operaciones. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "operations": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID, "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/my-other-operation", "metadata": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/my-other-live-config", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig", "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/my-other-live-config", "sourceUri": "SOURCE_LIVESTREAM_URI", "adTagUri": "AD_TAG_URI", "state": "READY", "adTracking": "SERVER", "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "stitchingPolicy": "CUT_CURRENT", "defaultAdBreakDuration": "30s" } } ] }
Cancelar una operación de larga duración
Para iniciar la cancelación asíncrona de una operación de larga duración, usa el método projects.locations.operations.cancel
. El servidor hace todo lo posible para cancelar la operación, pero no se garantiza que se realice correctamente.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: número de tu proyecto. Google Cloud Se encuentra en el campo Número de proyecto de la página Configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la operación. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: el identificador de la operación
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir un objeto JSON vacío como respuesta:{}
Eliminar una operación de larga duración
Para eliminar una operación de larga duración completada, usa el método
projects.locations.operations.delete
. Este método indica que el cliente ya no está interesado en el resultado de la operación. No se cancela la operación.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: número de tu proyecto. Google Cloud Se encuentra en el campo Número de proyecto de la página Configuración de gestión de identidades y accesos.LOCATION
: la ubicación de la operación. Usa una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: el identificador de la operación
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir un objeto JSON vacío como respuesta:{}