Mengelola operasi yang berjalan lama

Halaman ini menjelaskan cara mengelola siklus proses Operasi Lama (LRO) Video Stitcher API.

Operasi yang Berjalan Lama ditampilkan saat panggilan metode mungkin memerlukan waktu lama untuk diselesaikan. Misalnya, Video Stitcher API membuat LRO setiap kali Anda memanggil projects.locations.liveConfigs.create. LRO melacak status tugas pemrosesan.

Anda dapat menggunakan metode projects.locations.operations yang disediakan Video Stitcher API untuk memeriksa status LRO. Anda juga dapat mencantumkan, membatalkan, atau menghapus LRO.

LRO dikelola di level lokasi dan project Google Cloud. Saat membuat permintaan ke API, sertakan project Google Cloud dan lokasi tempat LRO dijalankan.

Catatan LRO disimpan selama sekitar 30 hari setelah LRO selesai, yang berarti Anda tidak dapat melihat atau mencantumkan LRO setelah itu.

Mendapatkan detail tentang operasi yang berjalan lama

Misalnya Anda membuat konfigurasi live. Nilai name dalam respons menunjukkan bahwa Video Stitcher API membuat LRO bernama projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID.

Untuk memeriksa apakah endpoint input telah dibuat, gunakan metode projects.locations.operations.get. Jika respons berisi "done": false, ulangi perintah hingga respons berisi "done": true. Operasi ini dapat memerlukan waktu beberapa menit hingga selesai.

Anda juga dapat mengambil nama LRO dengan mencantumkan operasi yang berjalan lama.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project di halaman Setelan IAM
  • LOCATION: lokasi data; gunakan salah satu region yang didukung
    Tampilkan lokasi
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: ID untuk operasi

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

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

Jika operasi gagal, Anda akan menerima informasi error dalam bentuk objek error untuk membantu dalam pemecahan masalah.

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

Membuat daftar operasi yang berjalan lama

Untuk mencantumkan semua operasi di lokasi tertentu, gunakan metode projects.locations.operations.list.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project pada halaman Setelan IAM
  • LOCATION: lokasi operasi; gunakan salah satu wilayah yang didukung
    Tampilkan lokasi
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

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

Membatalkan operasi yang berjalan lama

Untuk memulai pembatalan asinkron pada operasi yang berjalan lama, gunakan metode projects.locations.operations.cancel. Server berusaha sebaik mungkin untuk membatalkan operasi, tetapi keberhasilan tidak dijamin.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project pada halaman Setelan IAM
  • LOCATION: lokasi operasi; gunakan salah satu wilayah yang didukung
    Tampilkan lokasi
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: ID untuk operasi

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima objek JSON kosong sebagai respons:
{}

Menghapus operasi yang berjalan lama

Untuk menghapus operasi selesai yang berjalan lama, gunakan metode projects.locations.operations.delete. Metode ini menunjukkan bahwa klien tidak lagi tertarik dengan hasil operasi. Metode tersebut tidak membatalkan operasi.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project pada halaman Setelan IAM
  • LOCATION: lokasi operasi; gunakan salah satu wilayah yang didukung
    Tampilkan lokasi
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: ID untuk operasi

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima objek JSON kosong sebagai respons:
{}