Mengelola operasi yang berjalan lama

Halaman ini menjelaskan cara mengelola siklus proses operasi jangka panjang (LRO) Cloud Life Sciences API.

Operasi yang berjalan lama ditampilkan ketika panggilan metode mungkin memerlukan waktu lama untuk diselesaikan. Cloud Life Sciences API membuat LRO setiap kali Anda memanggil projects.locations.pipelines.run atau gcloud beta lifesciences pipelines run. LRO melacak status pipeline.

Anda dapat menggunakan Operations API yang disediakan Cloud Life Sciences API untuk memeriksa status LRO. Anda juga dapat membuat daftar, polling, atau membatalkan LRO.

Saat memanggil Cloud Life Sciences API secara langsung, LRO dikelola di tingkat lokasi dan project Google Cloud. Saat membuat permintaan ke LRO secara langsung, sertakan project Google Cloud dan lokasi tempat LRO dijalankan.

Jika Anda telah menyiapkan gcloud CLI, saat Anda memanggil Cloud Life Sciences API menggunakan gcloud CLI, permintaan Anda ke LRO hanya perlu berisi ID operasi. Project ID Google Cloud dan lokasi tempat LRO dijalankan disimpulkan dari ID operasi.

Anda dapat mengelola LRO Cloud Life Sciences menggunakan Konsol Google Cloud, Google Cloud CLI, atau dengan memanggil API secara langsung. Konsol Google Cloud tidak berisi semua detail tentang LRO yang tersedia saat menggunakan gcloud CLI dan memanggil Cloud Life Sciences API secara langsung.

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

Contoh berikut menunjukkan cara mendapatkan detail tentang LRO.

Konsol

  1. Di konsol Google Cloud, buka halaman Life Sciences Pipelines.

    Buka halaman Pipeline Ilmu Hayati

  2. Daftar LRO dan statusnya akan ditampilkan. Temukan LRO yang Anda cari dan lihat statusnya. Nilai yang mungkin untuk kolom Status adalah Running, Completed, dan Failed.

gcloud

Misalkan Anda menerima respons berikut setelah memanggil gcloud beta lifesciences pipelines run:

Running [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID].

Respons tersebut menunjukkan bahwa Cloud Life Sciences API membuat LRO dengan ID operasi.

Untuk mendapatkan detail tentang LRO, jalankan perintah gcloud beta lifesciences operations describe, dengan menentukan ID operasi.

gcloud beta lifesciences operations describe OPERATION_ID

Anda juga dapat mengambil ID operasi dengan mencantumkan operasi database yang berjalan lama.

Jika permintaan berhasil, command prompt akan menampilkan detail operasi. Output yang ditampilkan di sini diambil dari operasi pipeline di Panduan Memulai.

API

Untuk mendapatkan status dan melihat detail tentang LRO, panggil metode projects.locations.operations.get.

REST

Misalkan Anda menerima respons berikut setelah memanggil projects.locations.pipelines.run:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID"
}

Nilai name dalam respons menunjukkan bahwa Cloud Life Sciences API membuat LRO bernama projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID.

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda
  • LOCATION: lokasi tempat LRO berjalan
  • OPERATION_ID: ID untuk LRO

Metode HTTP dan URL:

GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content

APIs Explorer

Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Output yang ditampilkan di sini diambil dari operasi pipeline di Panduan Memulai.

Mencantumkan operasi yang berjalan lama

Contoh berikut menunjukkan cara mencantumkan LRO di project dan lokasi Google Cloud.

Konsol

  1. Di konsol Google Cloud, buka halaman Life Sciences Pipelines.

    Buka halaman Pipeline Ilmu Hayati

  2. Daftar LRO dan statusnya akan ditampilkan. Nilai yang mungkin untuk kolom Status adalah Running, Completed, dan Failed.

gcloud

Untuk mencantumkan LRO di project dan lokasi Google Cloud, jalankan perintah gcloud beta lifesciences operations list.

gcloud beta lifesciences operations list

Jika permintaan berhasil, command prompt akan mencantumkan LRO:

ID                    LOCATION     DONE
OPERATION_ID          LOCATION       {TRUE|FALSE}
...

API

Untuk mencantumkan LRO di project dan lokasi Google Cloud, panggil metode projects.locations.operations.list.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda
  • LOCATION: lokasi tempat satu atau beberapa LRO berjalan

Metode HTTP dan URL:

GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations" | Select-Object -Expand Content

APIs Explorer

Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

Anda akan melihat respons JSON seperti berikut:

{
  "operations": [
    {
      "name": "PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.lifesciences.v2beta.Metadata",
        "pipeline": {
          ...
        }
        "createTime": "CREATE_TIME",
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/cloud.lifesciences.pipelines.RunPipelineResponse"
      }
    },
    ...
  ]
}

Membuat polling operasi yang berjalan lama

Contoh berikut menunjukkan cara melakukan polling status LRO.

Konsol

  1. Di konsol Google Cloud, buka halaman Life Sciences Pipelines.

    Buka halaman Pipeline Ilmu Hayati

  2. Daftar LRO dan statusnya akan ditampilkan. Klik ikon Refresh untuk melihat status terbaru dari LRO.

gcloud

Setelah memulai pipeline, Anda dapat melakukan polling LRO dengan menjalankan perintah gcloud beta lifesciences operations wait.

gcloud beta lifesciences operations wait OPERATION_ID

Jika permintaan berhasil, command prompt akan menampilkan hal berikut:

Waiting for [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID] to complete...

Setelah operasi selesai, command prompt akan menampilkan hal berikut:

Waiting for [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID] to complete...done.

API

Untuk melakukan polling LRO, panggil metode projects.locations.operations.get secara berulang kali hingga operasi selesai. Gunakan backoff di antara setiap permintaan polling, misalnya 10 detik.

Sebelum menggunakan data permintaan di bawah, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda
  • LOCATION: lokasi tempat LRO berjalan
  • OPERATION_ID: ID untuk LRO

Metode HTTP dan URL:

GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut untuk memeriksa status LRO setiap 10 detik:

while true; \
    do curl -X GET \
    -H "Authorization: Bearer "$(gcloud auth print-access-token) \
    "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"; \
    sleep 10; \
    done

Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Output yang ditampilkan di sini diambil dari operasi pipeline di Panduan Memulai. Setelah operasi selesai, respons akan berisi "done": true dan nilai di kolom endTime.

PowerShell

Jalankan perintah berikut untuk memeriksa status LRO setiap sepuluh detik:

$cred = gcloud auth print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Do {
  Invoke-WebRequest `
    -Method Get `
    -Headers $headers `
    -Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
sleep 10
}

while ($true)

Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Output yang ditampilkan di sini diambil dari operasi pipeline di Panduan Memulai. Setelah operasi selesai, respons akan berisi "done": true dan nilai di kolom endTime.

Membatalkan operasi yang berjalan lama

Contoh berikut menunjukkan cara membatalkan LRO saat sedang berjalan.

Konsol

  1. Di konsol Google Cloud, buka halaman Life Sciences Pipelines.

    Buka halaman Pipeline Ilmu Hayati

  2. Klik ID LRO yang ingin Anda batalkan.
  3. Klik ikon Cancel.

gcloud

Untuk membatalkan LRO, jalankan perintah gcloud beta lifesciences operations cancel.

gcloud beta lifesciences operations cancel OPERATION_ID

Jika permintaan berhasil, permintaan pembatalan akan menampilkan:

Operation [OPERATION_ID] will be canceled.

Do you want to continue (Y/n)?  Y

Untuk mengonfirmasi, ketik Y. Setelah Anda mengonfirmasi pembatalan, respons menampilkan isi kosong.

Operation [OPERATION_ID] will be canceled.

Do you want to continue (Y/n)?  Y

{}

API

Untuk membatalkan LRO, panggil metode projects.locations.operations.cancel.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda
  • LOCATION: lokasi tempat LRO berjalan
  • OPERATION_ID: ID untuk LRO

Metode HTTP dan URL:

POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel" | Select-Object -Expand Content

APIs Explorer

Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

Anda akan melihat respons JSON seperti berikut:

{}