REST Resource: projects.locations.jobs

Resource: Job

Deskripsi tugas operasi batch penyimpanan.

Representasi JSON
{
  "name": string,
  "description": string,
  "loggingConfig": {
    object (LoggingConfig)
  },
  "createTime": string,
  "scheduleTime": string,
  "completeTime": string,
  "counters": {
    object (Counters)
  },
  "errorSummaries": [
    {
      object (ErrorSummary)
    }
  ],
  "state": enum (State),

  // Union field source can be only one of the following:
  "bucketList": {
    object (BucketList)
  }
  // End of list of possible types for union field source.

  // Union field transformation can be only one of the following:
  "putObjectHold": {
    object (PutObjectHold)
  },
  "deleteObject": {
    object (DeleteObject)
  },
  "putMetadata": {
    object (PutMetadata)
  },
  "rewriteObject": {
    object (RewriteObject)
  }
  // End of list of possible types for union field transformation.
}
Kolom
name

string

ID. Nama resource tugas.

Format projects/{project}/locations/global/jobs/{jobId}.

Misalnya: projects/123456/locations/global/jobs/job01.

jobId bersifat unik dalam project tertentu untuk lokasi tertentu. Jika jobId tidak ditentukan, ID yang dibuat server akan ditetapkan.

description

string

Opsional. Deskripsi yang diberikan pengguna untuk tugas.

Panjang maksimum: 1.024 byte jika dienkode unicode.

loggingConfig

object (LoggingConfig)

Opsional. Konfigurasi logging.

createTime

string (Timestamp format)

Hanya output. Waktu tugas dibuat.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan digit pecahan 0, 3, 6, atau 9. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

scheduleTime

string (Timestamp format)

Hanya output. Waktu tugas dijadwalkan.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan digit pecahan 0, 3, 6, atau 9. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

completeTime

string (Timestamp format)

Hanya output. Waktu tugas selesai.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan digit pecahan 0, 3, 6, atau 9. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

counters

object (Counters)

Hanya output. Informasi tentang progres tugas.

errorSummaries[]

object (ErrorSummary)

Hanya output. Merangkum error yang ditemukan dengan contoh entri log error.

state

enum (State)

Hanya output. Status tugas.

Kolom union source. Menentukan objek yang akan ditransformasi. source hanya ada berupa salah satu diantara berikut:
bucketList

object (BucketList)

Menentukan daftar bucket dan objeknya yang akan ditransformasi.

Kolom union transformation. Operasi yang akan dilakukan pada objek. transformation hanya ada berupa salah satu diantara berikut:
putObjectHold

object (PutObjectHold)

Mengubah status penangguhan objek.

deleteObject

object (DeleteObject)

Menghapus objek.

putMetadata

object (PutMetadata)

Memperbarui metadata objek. Memungkinkan pembaruan metadata kunci tetap dan kustom serta metadata kunci tetap. Misalnya, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, dan Custom-Time.

rewriteObject

object (RewriteObject)

Menulis ulang objek dan memperbarui metadata seperti kunci KMS.

BucketList

Menjelaskan daftar bucket dan objeknya yang akan diubah.

Representasi JSON
{
  "buckets": [
    {
      object (Bucket)
    }
  ]
}
Kolom
buckets[]

object (Bucket)

Wajib. Daftar bucket dan objeknya yang akan ditransformasi. Anda hanya dapat menentukan satu bucket per tugas. Jika beberapa bucket ditentukan, akan terjadi error.

Bucket

Menjelaskan konfigurasi satu bucket dan objeknya yang akan ditransformasi.

Representasi JSON
{
  "bucket": string,

  // Union field object_configuration can be only one of the following:
  "prefixList": {
    object (PrefixList)
  },
  "manifest": {
    object (Manifest)
  }
  // End of list of possible types for union field object_configuration.
}
Kolom
bucket

string

Wajib. Nama bucket untuk objek yang akan diubah.

Kolom union object_configuration. Menentukan objek yang akan ditransformasi. object_configuration hanya ada berupa salah satu diantara berikut:
prefixList

object (PrefixList)

Menentukan objek yang cocok dengan kumpulan awalan.

manifest

object (Manifest)

Menentukan objek dalam file manifes.

PrefixList

Menjelaskan awalan objek yang akan ditransformasi.

Representasi JSON
{
  "includedObjectPrefixes": [
    string
  ]
}
Kolom
includedObjectPrefixes[]

string

Opsional. Tentukan satu atau beberapa awalan objek. Contoh:

  • Untuk mencocokkan satu objek, gunakan satu awalan, prefix1.

  • Untuk mencocokkan beberapa objek, gunakan awalan yang dipisahkan koma, prefix1,prefix2.

  • Untuk mencocokkan semua objek, gunakan awalan kosong,''

Manifes

Menjelaskan daftar objek yang akan ditransformasi.

Representasi JSON
{
  "manifestLocation": string
}
Kolom
manifestLocation

string

Wajib. Tentukan lokasi file manifes, misalnya, gs://bucket_name/path/object_name.csv. Manifes adalah file CSV, yang diupload ke Cloud Storage, yang berisi satu objek atau daftar objek yang ingin Anda proses. Setiap baris dalam manifes harus menyertakan bucket dan name objek. Anda dapat menentukan generation objek secara opsional. Jika Anda tidak menentukan generation, versi objek saat ini akan digunakan.

File harus menyertakan baris header dengan format berikut: bucket,name,generation. Kolom generation bersifat opsional. Misalnya,

bucket,name,generation
bucket_1,object_1,generation_1
bucket_1,object_2,generation_2
bucket_1,object_3,generation_3

Catatan: File manifes hanya boleh menentukan objek dalam bucket yang disediakan untuk tugas. Baris yang mereferensikan objek di bucket lain akan diabaikan.

PutObjectHold

Menjelaskan opsi untuk memperbarui penangguhan objek.

Representasi JSON
{
  "temporaryHold": enum (HoldStatus),
  "eventBasedHold": enum (HoldStatus)
}
Kolom
temporaryHold

enum (HoldStatus)

Wajib. Memperbarui status penangguhan sementara objek. Jika penangguhan sementara objek ditetapkan, objek tidak dapat dihapus atau diganti.

eventBasedHold

enum (HoldStatus)

Wajib. Memperbarui status penangguhan berbasis peristiwa objek. Jika penangguhan berbasis peristiwa objek ditetapkan, objek tidak dapat dihapus atau diganti. Mereset waktu objek dalam bucket untuk tujuan periode retensi.

HoldStatus

Menjelaskan status penangguhan.

Enum
HOLD_STATUS_UNSPECIFIED Nilai default. Status penangguhan objek tidak diubah.
SET Menempatkan penangguhan.
UNSET Melepaskan pembekuan.

DeleteObject

Menjelaskan opsi untuk menghapus objek.

Representasi JSON
{
  "permanentObjectDeletionEnabled": boolean
}
Kolom
permanentObjectDeletionEnabled

boolean

Wajib. Mengontrol perilaku penghapusan saat pembuatan versi diaktifkan untuk bucket objek. Jika benar, objek aktif dan lama akan dihapus secara permanen. Jika tidak, objek aktif di bucket yang memiliki versi akan menjadi tidak berlaku dan objek yang sudah tidak berlaku akan dilewati. Setelan ini tidak memengaruhi fitur Soft Delete. Semua objek yang dihapus oleh layanan ini dapat dipulihkan selama durasi retensi Penghapusan Sementara jika diaktifkan. Jika diaktifkan dan manifes tidak menentukan pembuatan objek, panggilan GetObjectMetadata akan dilakukan untuk menentukan pembuatan objek live.

PutMetadata

Menjelaskan opsi untuk memperbarui metadata objek.

Representasi JSON
{
  "customMetadata": {
    string: string,
    ...
  },
  "contentDisposition": string,
  "contentEncoding": string,
  "contentLanguage": string,
  "contentType": string,
  "cacheControl": string,
  "customTime": string
}
Kolom
customMetadata

map (key: string, value: string)

Opsional. Memperbarui metadata kustom objek. Operasi ini menambahkan atau menetapkan setiap key-value pair metadata kustom. Nilai kunci yang ditentukan dengan nilai kosong akan dihapus. Kunci metadata kustom yang ada dan tidak disertakan dalam permintaan tetap tidak berubah. Untuk mengetahui detailnya, lihat Custom-Metadata.

Objek yang berisi daftar pasangan "key": "value". Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contentDisposition

string

Opsional. Memperbarui metadata tetap Content-Disposition objek. Nilai yang tidak ditetapkan dalam permintaan akan diabaikan. Untuk menghapus metadata, tetapkan nilai kosong. Untuk mengetahui detailnya, lihat Content-Disposition.

contentEncoding

string

Opsional. Memperbarui metadata tetap Content-Encoding objek. Nilai yang tidak ditetapkan dalam permintaan akan diabaikan. Untuk menghapus metadata, tetapkan nilai kosong. Untuk mengetahui detailnya, lihat Content-Encoding.

contentLanguage

string

Opsional. Memperbarui metadata bahasa konten tetap objek. Nilai metadata harus menggunakan kode bahasa ISO 639-1. Panjang maksimum untuk nilai metadata adalah 100 karakter. Nilai yang tidak ditetapkan dalam permintaan akan diabaikan. Untuk menghapus metadata, tetapkan nilai kosong. Untuk mengetahui detailnya, lihat Content-Language.

contentType

string

Opsional. Memperbarui metadata tetap Content-Type objek. Nilai yang tidak ditetapkan dalam permintaan akan diabaikan. Untuk menghapus metadata, tetapkan nilai kosong. Untuk mengetahui detailnya, lihat Content-Type.

cacheControl

string

Opsional. Memperbarui metadata tetap Cache-Control objek. Nilai yang tidak ditetapkan dalam permintaan akan diabaikan. Untuk menghapus metadata, tetapkan nilai kosong. Selain itu, nilai untuk Custom-Time tidak dapat dikurangi. Untuk mengetahui detailnya, lihat Cache-Control.

customTime

string

Opsional. Memperbarui metadata waktu kustom tetap objek. Nilai yang tidak ditetapkan dalam permintaan akan diabaikan. Untuk menghapus metadata, tetapkan nilai kosong. Untuk mengetahui detailnya, lihat Custom-Time.

RewriteObject

Menjelaskan opsi untuk penulisan ulang objek.

Representasi JSON
{
  "kmsKey": string
}
Kolom
kmsKey

string

Wajib. Nama resource kunci Cloud KMS yang digunakan untuk mengenkripsi objek. Kunci Cloud KMS harus berada di lokasi yang sama dengan objek. Untuk mengetahui detailnya, lihat Mengenkripsi objek dengan kunci Cloud KMS

Format: projects/{project}/locations/{locationid}/keyRings/{keyring}/cryptoKeys/{key}

Misalnya: projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key. Objek ditulis ulang dan ditetapkan dengan kunci KMS yang ditentukan.

LoggingConfig

Menentukan perilaku Cloud Logging.

Representasi JSON
{
  "logActions": [
    enum (LoggableAction)
  ],
  "logActionStates": [
    enum (LoggableActionState)
  ]
}
Kolom
logActions[]

enum (LoggableAction)

Wajib. Menentukan tindakan yang akan dicatat dalam log.

logActionStates[]

enum (LoggableActionState)

Wajib. Status saat tindakan dicatat dalam log. Jika kosong, tidak ada log yang dibuat.

LoggableAction

Jenis tindakan yang dapat dicatat ke dalam log.

Enum
LOGGABLE_ACTION_UNSPECIFIED Nilai ilegal, untuk menghindari izin default.
TRANSFORM Tindakan transformasi yang sesuai dalam tugas ini.

LoggableActionState

Filter status tindakan yang dapat dicatat ke dalam log.

Enum
LOGGABLE_ACTION_STATE_UNSPECIFIED Nilai ilegal, untuk menghindari izin default.
SUCCEEDED LoggableAction berhasil diselesaikan. Tindakan SUCCEEDED dicatat ke dalam log sebagai [INFO][google.logging.type.LogSeverity.INFO].
FAILED LoggableAction dihentikan dalam status error. Tindakan FAILED dicatat dalam log sebagai [ERROR][google.logging.type.LogSeverity.ERROR].

Penghitung

Menjelaskan detail tentang progres tugas.

Representasi JSON
{
  "totalObjectCount": string,
  "succeededObjectCount": string,
  "failedObjectCount": string
}
Kolom
totalObjectCount

string (int64 format)

Hanya output. Jumlah objek yang tercantum.

succeededObjectCount

string (int64 format)

Hanya output. Jumlah objek yang diselesaikan.

failedObjectCount

string (int64 format)

Hanya output. Jumlah objek gagal.

ErrorSummary

Ringkasan error berdasarkan kode error, serta jumlah dan contoh entri log error.

Representasi JSON
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
Kolom
errorCode

enum (Code)

Wajib. Kode error kanonis.

errorCount

string (int64 format)

Wajib. Jumlah error yang ditemukan per errorCode.

errorLogEntries[]

object (ErrorLogEntry)

Wajib. Contoh log error.

Kode

Menentukan kode error yang digunakan untuk menangani respons gRPC API.

Jika beberapa kode error berlaku, tampilkan kode error yang paling spesifik. Misalnya, lebih memilih menampilkan OUT_OF_RANGE daripada FAILED_PRECONDITION jika kedua kode berlaku. Demikian pula, untuk lebih memilih menampilkan NOT_FOUND atau ALREADY_EXISTS daripada FAILED_PRECONDITION.

Enum
OK

Ditampilkan saat operasi berhasil diselesaikan.

Pemetaan HTTP: 200 OK

CANCELLED

Operasi dibatalkan, biasanya oleh pemanggil.

Pemetaan HTTP: 499 Client Closed Request

UNKNOWN

Error tidak diketahui. Misalnya, error ini dapat ditampilkan jika nilai Status yang diterima dari ruang alamat lain yang berada di ruang error yang tidak diketahui di ruang alamat ini. Selain itu, error yang dilaporkan oleh API yang tidak menampilkan informasi error yang mencukupi dapat dianggap sebagai error ini.

Pemetaan HTTP: Error Server Internal 500

INVALID_ARGUMENT

Klien menetapkan argumen yang tidak valid. Perhatikan bahwa ini berbeda dengan FAILED_PRECONDITION. INVALID_ARGUMENT menunjukkan argumen yang bermasalah, terlepas dari statusnya di dalam sistem (Misalnya, nama file yang salah format).

Pemetaan HTTP: 400 Permintaan Tidak Valid

DEADLINE_EXCEEDED

Batas waktu berakhir sebelum operasi selesai. Untuk operasi yang mengubah keadaan sistem, error ini mungkin ditampilkan, bahkan jika, operasi tersebut telah selesai. Sebagai contoh, respons berhasil dari suatu server dapat tertunda selama waktu yang cukup lama hingga tenggat waktu berakhir.

Pemetaan HTTP: 504 Gateway Timeout

NOT_FOUND

Beberapa entity yang diminta (misalnya, file atau direktori) tidak ditemukan.

Catatan bagi developer server: apabila suatu permintaan ditolak pada seluruh kelas pengguna, seperti peluncuran bertahap, atau daftar yang diberi akses, NOT_FOUND dapat digunakan. Jika permintaan ditolak pada beberapa pengguna di dalam suatu kelas pengguna, seperti pada kontrol akses basis pengguna, maka, PERMISSION_DENIED harus digunakan.

Pemetaan HTTP: 404 Not Found

ALREADY_EXISTS

Entitas yang coba dibuat oleh klien (misalnya, file atau direktori) sudah ada.

Pemetaan HTTP: 409 Conflict

PERMISSION_DENIED

Pemanggil tidak memiliki izin untuk menjalankan operasi yang ditentukan. PERMISSION_DENIED tidak boleh digunakan untuk penolakan yang disebabkan oleh kehabisan beberapa resource (gunakan RESOURCE_EXHAUSTED untuk error tersebut). PERMISSION_DENIED tidak boleh digunakan apabila pemanggil tidak dapat diidentifikasi (gunakan UNAUTHENTICATED untuk error tersebut). Kode error ini tidak menyatakan bahwa suatu permintaan valid atau entitas yang diminta ada atau memenuhi prakondisi lainnya.

Pemetaan HTTP: 403 Forbidden

UNAUTHENTICATED

Permintaan tidak memiliki kredensial autentikasi operasi yang valid.

Pemetaan HTTP: 401 Tidak Sah

RESOURCE_EXHAUSTED

Beberapa resource telah habis, kemungkinan adalah kuota per pengguna, atau kemungkinan seluruh sistem file kehabisan ruang.

Pemetaan HTTP: 429 Too Many Requests

FAILED_PRECONDITION

Operasi tersebut ditolak karena sistem tidak dalam keadaan dibutuhkan untuk menjalankan operasi. Misalnya, direktori yang akan dihapus tidak kosong, operasi rmdir diterapkan pada non-direktori, dll.

Implementator layanan dapat menggunakan panduan berikut untuk menentukan manakah yang paling sesuai di antara FAILED_PRECONDITION, ABORTED, dan UNAVAILABLE:

  • Gunakan UNAVAILABLE jika klien dapat mencoba lagi hanya panggilan yang gagal.
  • Gunakan ABORTED jika klien harus mencoba lagi pada tingkat yang lebih tinggi. Misalnya, saat kegagalan test-and-set, yang menunjukkan bahwa klien harus memulai ulang urutan baca-ubah-tulis.
  • Gunakan FAILED_PRECONDITION jika klien tidak diizinkan untuk mencoba kembali hingga status sistem diperbaiki secara eksplisit. Misalnya, jika "rmdir" gagal karena direktori tidak kosong, FAILED_PRECONDITION akan ditampilkan karena klien tidak diizinkan untuk mencoba kembali kecuali jika file dihapus dari direktori.

Pemetaan HTTP: 400 Permintaan Tidak Valid

ABORTED

Operasi dibatalkan, umumnya karena masalah konkurensi seperti kegagalan pemeriksaan pengurut atau pembatalan transaksi.

Lihat panduan di atas untuk menentukan manakah yang sesuai antara FAILED_PRECONDITION, ABORTED, dan UNAVAILABLE.

Pemetaan HTTP: 409 Conflict

OUT_OF_RANGE

Upaya operasi dilakukan melampaui rentang yang valid. Misalnya, mencari tahu atau membaca melampaui akhir file.

Tidak seperti INVALID_ARGUMENT, error ini menunjukkan masalah yang dapat diperbaiki jika status sistem berubah. Misalnya, sistem file 32-bit akan menghasilkan INVALID_ARGUMENT jika diminta untuk membaca pada offset yang tidak berada dalam rentang [0,2^32-1], tetapi akan menghasilkan OUT_OF_RANGE jika diminta untuk membaca dari offset melewati ukuran file saat ini.

Terdapat sedikit tumpang-tindih antara FAILED_PRECONDITION dengan OUT_OF_RANGE. Sebaiknya gunakan OUT_OF_RANGE (error yang lebih spesifik) jika memang sesuai, sehingga pemanggil yang melakukan iterasi melalui ruang dapat dengan mudah mencari error OUT_OF_RANGE untuk dideteksi ketika selesai.

Pemetaan HTTP: 400 Permintaan Tidak Valid

UNIMPLEMENTED

Operasi tidak diterapkan atau tidak didukung/diaktifkan dalam layanan ini.

Pemetaan HTTP: 501 Not Implemented

INTERNAL

Error internal. Artinya beberapa invarian yang diperlukan oleh sistem pokok telah rusak. Kode error ini disediakan untuk error yang bersifat serius.

Pemetaan HTTP: Error Server Internal 500

UNAVAILABLE

Saat ini layanan tidak tersedia. Kemungkinan besar ini hanya kondisi sementara, yang dapat diperbaiki dengan mencoba kembali menggunakan backoff. Perlu diketahui bahwa mencoba kembali operasi non-idempoten tidak selalu aman.

Lihat panduan di atas untuk menentukan manakah yang sesuai antara FAILED_PRECONDITION, ABORTED, dan UNAVAILABLE.

Pemetaan HTTP: 503 Layanan Tidak Tersedia

DATA_LOSS

Data hilang atau rusak yang tidak dapat dipulihkan.

Pemetaan HTTP: Error Server Internal 500

ErrorLogEntry

Entri yang menjelaskan error yang telah terjadi.

Representasi JSON
{
  "objectUri": string,
  "errorDetails": [
    string
  ]
}
Kolom
objectUri

string

Wajib. Hanya output. URL objek. Contoh, gs://my_bucket/object.txt

errorDetails[]

string

Opsional. Hanya output. Maksimum 5 entri log error dicatat per kode error untuk setiap tugas.

Negara bagian/Provinsi

Menjelaskan status tugas.

Enum
STATE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
RUNNING Sedang berlangsung.
SUCCEEDED Berhasil diselesaikan.
CANCELED Dibatalkan oleh pengguna.
FAILED Dihentikan karena kegagalan yang tidak dapat dipulihkan.

Metode

cancel

Membatalkan tugas batch di project tertentu untuk lokasi tertentu.

create

Membuat tugas batch di project tertentu untuk lokasi tertentu.

delete

Menghapus tugas batch di project tertentu untuk lokasi tertentu.

get

Mendapatkan tugas batch dalam project tertentu untuk lokasi tertentu.

list

Mencantumkan semua tugas batch dalam project tertentu untuk lokasi tertentu.