Esta página descreve como gerir o ciclo de vida de uma operação de longa duração (LRO) da API Video Stitcher.
As operações de longa duração são devolvidas quando as chamadas de métodos podem demorar muito tempo a serem concluídas. Por exemplo, a API Video Stitcher cria um LRO sempre que chama projects.locations.liveConfigs.create
.
O LRO acompanha o estado da tarefa de processamento.
Pode usar os métodos projects.locations.operations
que a API Video Stitcher oferece para verificar o estado das LROs. Também pode listar, cancelar ou eliminar LROs.
As LROs são geridas ao Google Cloud nível do projeto e da localização. Quando fizer um pedido à API, inclua o Google Cloud projeto e a localização em que a LRO está a ser executada.
O registo de uma LRO é mantido durante aproximadamente 30 dias após a conclusão da LRO, o que significa que não pode ver nem listar uma LRO após esse período.
Veja detalhes acerca de uma operação de longa duração
Suponhamos que criou uma configuração em direto.
O valor name
na resposta mostra que a API Video Stitcher criou uma LRO denominada projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID
.
Para verificar se o ponto final 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
. Esta operação pode demorar alguns minutos a ser
concluída.
Também pode obter o nome da LRO listando as operações de longa duração.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER
: o número do seu Google Cloud projeto; encontra-se no campo Número do projeto na página Definições de IAMLOCATION
: a localização dos dados; use uma das regiões suportadasMostrar localizaçõesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: o identificador da operação
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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, recebe informações de erro sob a forma de um objeto error
para ajudar na resolução de problemas.
{
"error": {
"code": 404,
"message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
"status": "NOT_FOUND"
}
}
Apresente operações de longa duração
Para listar todas as operações numa determinada localização, use o método
projects.locations.operations.list
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER
: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION
: a localização das operações; use uma das regiões suportadasMostrar localizaçõesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" } } ] }
Cancele uma operação de longa duração
Para iniciar o cancelamento assíncrono numa operação de longa duração, use o método
projects.locations.operations.cancel
. O servidor faz o seu melhor para cancelar a operação, mas o sucesso não é garantido.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER
: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION
: a localização da operação; use uma das regiões suportadasMostrar localizaçõesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: o identificador da operação
Para enviar o seu pedido, expanda uma destas opções:
Deve receber um objeto JSON vazio como resposta:{}
Elimine uma operação de longa duração
Para eliminar uma operação de longa duração concluída, use o método
projects.locations.operations.delete
. Este método indica que o cliente já não tem interesse no resultado da operação. Não cancela a operação.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER
: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION
: a localização da operação; use uma das regiões suportadasMostrar localizaçõesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: o identificador da operação
Para enviar o seu pedido, expanda uma destas opções:
Deve receber um objeto JSON vazio como resposta:{}