Gérer les opérations de longue durée

Cette page explique comment gérer le cycle de vie d'une opération de longue durée (LRO) de l'API Live Stream.

Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre beaucoup de temps. Par exemple, l'API Live Stream crée une opération de longue durée chaque fois que vous appelez projects.locations.inputs.create. L'opération de longue durée suit l'état de la tâche de traitement.

Vous pouvez utiliser les méthodes projects.locations.operations fournies par l'API Live Stream pour vérifier l'état des opérations de longue durée. Vous pouvez également répertorier, annuler ou supprimer des opérations de longue durée.

Les opérations de longue durée sont gérées au niveau du projet et de l'emplacement Google Cloud. Lorsque vous envoyez une requête à l'API, incluez le projet Google Cloud et l'emplacement dans lequel l'opération de longue durée s'exécute.

L'enregistrement associé à une opération de longue durée est conservé pendant environ 30 jours après son exécution, ce qui signifie que vous ne pouvez pas afficher ni répertorier une opération de longue durée après cette date.

Obtenir des détails sur une opération de longue durée

Supposons que vous ayez créé un point de terminaison d'entrée. La valeur name de la réponse indique que l'API Live Stream a créé une opération de longue durée nommée projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID.

Pour vérifier si le point de terminaison d'entrée a été créé, utilisez la méthode projects.locations.operations.get. Si la réponse contient "done": false, répétez la commande jusqu'à ce que la réponse contienne "done": true. Cette opération peut prendre quelques minutes.

Vous pouvez également obtenir le nom de l'opération en répertoriant les opérations de longue durée.

Avant d'utiliser les données de la requête, effectuez les remplacements suivants:

  • PROJECT_NUMBER: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet de la page Paramètres IAM.
  • LOCATION: emplacement de votre point de terminaison d'entrée. Utilisez l'une des régions disponibles :
    • 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: identifiant de l'opération.

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Répertorier les opérations de longue durée

Pour répertorier toutes les opérations dans un emplacement donné, utilisez la méthode projects.locations.operations.list.

Avant d'utiliser les données de la requête, effectuez les remplacements suivants:

  • PROJECT_NUMBER: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet de la page Paramètres IAM.
  • LOCATION: emplacement des opérations. Utilisez l'une des régions disponibles :
    • 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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Annuler une opération de longue durée

Pour lancer l'annulation asynchrone sur une opération de longue durée, utilisez la méthode projects.locations.operations.cancel. Le serveur fait de son mieux pour annuler l'opération, mais la réussite de l'opération n'est pas garantie.

Avant d'utiliser les données de la requête, effectuez les remplacements suivants:

  • PROJECT_NUMBER: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet de la page Paramètres IAM.
  • LOCATION: emplacement de l'opération. Utilisez l'une des régions disponibles :
    • 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: identifiant de l'opération.

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir un objet JSON vide en réponse :
{}

Supprimer une opération de longue durée

Pour supprimer une opération de longue durée terminée, utilisez la méthode projects.locations.operations.delete. Cette méthode indique que le client n'est plus intéressé par le résultat de l'opération. Elle n'annule pas l'opération.

Avant d'utiliser les données de la requête, effectuez les remplacements suivants:

  • PROJECT_NUMBER: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet de la page Paramètres IAM.
  • LOCATION: emplacement de l'opération. Utilisez l'une des régions disponibles :
    • 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: identifiant de l'opération.

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir un objet JSON vide en réponse :
{}