Gerenciar operações de longa duração

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 Live Stream.

Operações de longa duração são retornadas quando as chamadas de método podem levar muito tempo para serem concluídas. Por exemplo, a API Live Stream cria uma LRO sempre que você chama projects.locations.inputs.create. A LRO acompanha o status da tarefa de processamento.

É possível usar os métodos projects.locations.operations fornecidos pela API Live Stream para verificar o status das LROs. Também é possível listar, cancelar ou excluir LROs.

As LROs são gerenciadas no nível local e do projeto do Google Cloud. Ao fazer uma solicitação à 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.

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

Suponha que você criou um endpoint de entrada. O valor name na resposta mostra que a API Live Stream 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, 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 onde o endpoint de entrada está localizado. Use uma das regiões compatíveis:
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • 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.video.livestream.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID",
    "createTime": CREATE_TIME,
    "updateTime": UPDATE_TIME,
    "type": "RTMP_PUSH",
    "uri":  INPUT_STREAM_URI, # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b",
    "tier": "HD"
  }
}

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, 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 compatíveis:
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4

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.livestream.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "endTime": END_TIME,
        "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_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.livestream.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "endTime": END_TIME,
        "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/my-other-input",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.livestream.v1.Input",
        "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/my-other-input",
        "createTime": CREATE_TIME,
        "updateTime": UPDATE_TIME,
        "type": "RTMP_PUSH",
        "uri":  INPUT_STREAM_URI,
        "tier": "HD"
      }
    }
  ]
}

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 fará o possível para cancelar a operação, mas o sucesso não é garantido.

Antes de usar os dados da solicitação, 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 compatíveis:
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • OPERATION_ID: o identificador da operação

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

Você receberá um objeto JSON vazio como a 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. 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, 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 compatíveis:
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • OPERATION_ID: o identificador da operação

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

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