Administra operaciones de larga duración

En esta página, se describe cómo administrar el ciclo de vida de una operación de larga duración (LRO) de la API de Video Stitcher.

Las operaciones de larga duración se muestran cuando las llamadas a un método pueden tardar mucho tiempo en completarse. Por ejemplo, la API de Video Stitcher crea una LRO cada vez que llamas a projects.locations.liveConfigs.create. La LRO realiza un seguimiento del estado del trabajo de procesamiento.

Puedes usar los métodos projects.locations.operations que proporciona la API de Video Stitcher para verificar el estado de las LRO. También puedes enumerar, cancelar o borrar las LRO.

Las LRO se administran a nivel del proyecto de Google Cloud y de la ubicación. Cuando realices una solicitud a la API, incluye el proyecto de Google Cloud y la ubicación en la que se ejecuta la LRO.

El registro de una LRO se conserva aproximadamente 30 días después de que esta finaliza, lo que significa que no puedes ver ni enumerar una LRO después de ese punto.

Obtén detalles sobre una operación de larga duración

Supongamos que creaste una configuración en vivo. El valor name en la respuesta muestra que la API de Video Stitcher creó una LRO llamada projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID.

Para verificar si se creó el extremo 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 recuperar el nombre de la LRO si enumeras las operaciones de larga duración.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.
  • LOCATION: Es la ubicación de los datos. Usa una de las regiones compatibles.
    Cómo mostrar ubicaciones
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: Es el identificador de la operación.

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 de error en forma de un 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"
  }
}

Enumerar las operaciones de larga duración

Para enumerar todas las operaciones en una ubicación determinada, usa el método projects.locations.operations.list.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.
  • LOCATION: Es la ubicación de las operaciones. Usa una de las regiones compatibles.
    Cómo mostrar ubicaciones
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 en una operación de larga duración, usa el método projects.locations.operations.cancel. El servidor realiza su mejor esfuerzo para cancelar la operación, pero no se garantiza que lo logre.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.
  • LOCATION: Es la ubicación de la operación. Usa una de las regiones compatibles.
    Cómo mostrar ubicaciones
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: Es el identificador de la operación.

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir un objeto JSON vacío como respuesta:
{}

Borrar una operación de larga duración

Para borrar 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 cancela la operación.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.
  • LOCATION: Es la ubicación de la operación. Usa una de las regiones compatibles.
    Cómo mostrar ubicaciones
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: Es el identificador de la operación.

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir un objeto JSON vacío como respuesta:
{}