Beberapa metode Video Intelligence API menampilkan operasi yang berjalan lama. Metode ini bersifat asinkron, dan operasi mungkin tidak selesai saat metode menampilkan respons.
Mendapatkan status operasi
Anda dapat memeriksa status tugas yang berjalan lama (mendeteksi perubahan pengambilan) menggunakan nama operasi.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- OPERATION_NAME: kolom
name
yang ditampilkan dari panggilan ke Video Intelligence API. Ini adalah nilai dalam format:
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
,
dengan:- PROJECT_NUMBER adalah nomor project Google Cloud Anda,
- LOCATION_ID adalah region cloud tempat anotasi dilakukan (misalnya:
us-east1
,us-west1
,europe-west1
,asia-east1
), - OPERATION_ID adalah ID operasi yang berjalan lama.
Metode HTTP dan URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_NUMBER " \
"https://videointelligence.googleapis.com/v1/OPERATION_NAME "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER " }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://videointelligence.googleapis.com/v1/OPERATION_NAME " | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION_ID /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "INPUT_URI ", "progressPercent": 100, "startTime": "2020-05-12T19:36:09.110351Z", "updateTime": "2020-05-12T19:36:17.519069Z" } ] }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse", "annotationResults": [ { ... } ] } }
Membatalkan operasi
Anda dapat membatalkan operasi yang berjalan lama menggunakan ID operasi. Namun, pembatalan tidak dijamin akan berhasil.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- OPERATION_ID: diberikan dalam respons saat Anda memulai operasi,
misalnya3326639765503758657
dariprojects/754177431483/locations/us-west1/operations/3326639765503758657
- Catatan:
- PROJECT_NUMBER: project ID GCP Anda
- LOCATION_ID: region Cloud tempat anotasi
akan dilakukan. Wilayah cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada region yang ditentukan, region akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
POST https://videointelligence.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION_ID /operations/OPERATION_ID :cancel
Untuk mengirim permintaan, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_NUMBER " \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://videointelligence.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION_ID /operations/OPERATION_ID :cancel"
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://videointelligence.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION_ID /operations/OPERATION_ID :cancel" | Select-Object -Expand Content
Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.