Esta página descreve como gerenciar o ciclo de vida de uma operação de longa duração (LRO, na sigla em inglês) da API Video Stitcher.
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 sempre que você chama
projects.locations.liveConfigs.create
.
A LRO rastreia o status do job de processamento.
É possível usar os métodos projects.locations.operations
fornecidos pela API Video Stitcher para verificar o status das
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 a LRO está sendo 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 IAMLOCATION
: o local dos dados. Use uma das regiões com suporte.Mostrar locaisus-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ê vai receber informações de erro na forma de um objeto 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
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local das operações. Use uma das regiões com suporte.Mostrar locaisus-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 de uma operação de longa duração, use o método
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
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local da operação. Use uma das regiões com suporte.Mostrar locaisus-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 de longa duração concluída, use o método
projects.locations.operations.delete
. Este 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
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local da operação. Use uma das regiões com suporte.Mostrar locaisus-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:{}