REST Resource: operations

Sumber daya: Operasi

Sumber daya ini mewakili operasi yang berjalan lama yang merupakan hasil dari panggilan API jaringan.

Representasi JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Bidang
name

string

Nama yang ditetapkan server, yang hanya unik dalam layanan yang sama yang mengembalikannya. Jika Anda menggunakan pemetaan HTTP default, name harus berupa nama sumber daya yang diakhiri dengan operations/{unique_id} .

metadata

object

Metadata khusus layanan yang terkait dengan operasi. Biasanya berisi informasi kemajuan dan metadata umum seperti waktu pembuatan. Beberapa layanan mungkin tidak menyediakan metadata tersebut. Metode apa pun yang mengembalikan operasi yang berjalan lama harus mendokumentasikan jenis metadata, jika ada.

Objek yang berisi bidang dengan tipe arbitrer. Bidang tambahan "@type" berisi URI yang mengidentifikasi jenisnya. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" } .

done

boolean

Jika nilainya false , berarti operasi masih berlangsung. Jika true , operasi selesai, dan error atau response tersedia.

result lapangan serikat. Hasil operasi, yang dapat berupa error atau response yang valid. Jika done == false , baik error maupun response tidak disetel. Jika done == true , salah satu error atau response dapat ditetapkan. Beberapa layanan mungkin tidak memberikan hasil. result hanya dapat berupa salah satu dari berikut ini:
error

object ( Status )

Hasil kesalahan operasi jika terjadi kegagalan atau pembatalan.

response

object

Respon normal operasi jika berhasil. Jika metode asli tidak mengembalikan data keberhasilan, seperti Delete , responsnya adalah google.protobuf.Empty . Jika metode aslinya adalah Get / Create / Update standar, responsnya harus menjadi sumber daya. Untuk metode lain, responsnya harus bertipe XxxResponse , dengan Xxx adalah nama metode aslinya. Misalnya, jika nama metode aslinya adalah TakeSnapshot() , jenis respons yang disimpulkan adalah TakeSnapshotResponse .

Objek yang berisi bidang dengan tipe arbitrer. Bidang tambahan "@type" berisi URI yang mengidentifikasi jenisnya. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" } .

Status

Tipe Status mendefinisikan model kesalahan logis yang cocok untuk berbagai lingkungan pemrograman, termasuk REST API dan RPC API. Ini digunakan oleh gRPC . Setiap pesan Status berisi tiga bagian data: kode kesalahan, pesan kesalahan, dan rincian kesalahan.

Anda dapat mengetahui lebih lanjut tentang model kesalahan ini dan cara mengatasinya di Panduan Desain API .

Representasi JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Bidang
code

integer

Kode status, yang seharusnya merupakan nilai enum dari google.rpc.Code .

message

string

Pesan kesalahan yang ditujukan kepada pengembang, yang seharusnya dalam bahasa Inggris. Pesan kesalahan apa pun yang dilihat pengguna harus dilokalkan dan dikirim di bidang google.rpc.Status.details , atau dilokalkan oleh klien.

details[]

object

Daftar pesan yang berisi rincian kesalahan. Ada serangkaian jenis pesan umum yang dapat digunakan oleh API.

Objek yang berisi bidang dengan tipe arbitrer. Bidang tambahan "@type" berisi URI yang mengidentifikasi jenisnya. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" } .

Metode

get

Mendapatkan status terbaru dari operasi yang berjalan lama.