Gerenciar operações de longa duração

Esta página descreve como gerenciar o ciclo de vida de uma API Video Stitcher Operação de longa duração (LRO, na sigla em inglês).

As Operações de longa duração são retornadas quando as chamadas de método podem demorar muito para serem concluídas. Por exemplo, a API Video Stitcher cria uma LRO toda vez que você chama projects.locations.liveConfigs.create A LRO rastreia o status do job de processamento.

Use os métodos projects.locations.operations. que a API Video Stitcher fornece para verificar o status do LROs, Também é possível listar, cancelar, ou excluir LROs.

As LROs são gerenciadas no nível do projeto e do local do Google Cloud. Ao fazer uma solicitação para a API, inclua o projeto do Google Cloud e o local em que ela é executada.

O registro de uma LRO é mantido por, aproximadamente, 30 dias após a conclusão da LRO. Isso significa que não é possível visualizar ou listar uma LRO após esse período.

Acessar detalhes sobre uma operação de longa duração

Suponha que você criou uma configuração ativa. O valor name na resposta mostra que a API Video Stitcher criou uma LRO chamada projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID.

Para verificar se o endpoint de entrada foi criado, use o método projects.locations.operations.get. Se a resposta contiver "done": false, repita o comando até que a resposta contenha "done": true. Essa operação pode levar alguns minutos para ser concluída.

Também é possível recuperar o nome da LRO listando operações de longa duração.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: a localização dos dados. usar uma das regiões com suporte;
    Mostrar locais
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: o identificador da operação.

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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"
  }
}

Se a operação falhar, você receberá informações de erro na forma de um error para ajudar na solução de problemas.

{
  "error": {
    "code": 404,
    "message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
    "status": "NOT_FOUND"
  }
}

Listar operações de longa duração

Para listar todas as operações em um determinado local, use o método projects.locations.operations.list .

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: seu projeto do Google Cloud número; ele está localizado no campo Número do projeto da Página Configurações do IAM
  • LOCATION: o local das operações. usar uma das regiões com suporte;
    Mostrar locais
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 uma operação de longa duração

Para iniciar o cancelamento assíncrono em uma operação de longa duração, use o projects.locations.operations.cancel . O servidor faz várias tentativas para cancelar a operação, mas o sucesso não é garantido.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: seu projeto do Google Cloud número; ele está localizado no campo Número do projeto da Página Configurações do IAM
  • LOCATION: o local da operação. usar uma das regiões com suporte;
    Mostrar locais
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: o identificador da operação.

Para enviar a solicitação, expanda uma destas opções:

Você vai receber um objeto JSON vazio como resposta:
{}

Excluir uma operação de longa duração

Para excluir uma operação concluída de longa duração, use o projects.locations.operations.delete . Esse método indica que o cliente não está mais interessado no resultado da operação. Ele não cancela a operação.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: seu projeto do Google Cloud número; ele está localizado no campo Número do projeto da Página Configurações do IAM
  • LOCATION: o local da operação. usar uma das regiões com suporte;
    Mostrar locais
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: o identificador da operação.

Para enviar a solicitação, expanda uma destas opções:

Você vai receber um objeto JSON vazio como a resposta:
{}