CloudEvents (cloudevents.io) adalah spesifikasi untuk mendeskripsikan data peristiwa dengan cara yang umum. Spesifikasi ini berada di bawah Cloud Native Computing Foundation (CNCF) dan diatur oleh Serverless Working Group CNCF.
Eventarc mengirimkan peristiwa ke penerima peristiwa dalam format CloudEvents melalui permintaan HTTP. Target tujuan—misalnya, layanan Workflows—mengonversi peristiwa menjadi objek JSON (mengikuti spesifikasi CloudEvents) dan meneruskan peristiwa ke eksekusi alur kerja sebagai argumen runtime alur kerja.
Format payload JSON
Layanan tujuan menerima peristiwa dari perute peristiwa dan memformat peristiwa ke Format Peristiwa JSON untuk CloudEvents versi 1.0.1 dengan atribut CloudEvents berikut:
| Atribut | Deskripsi | Contoh |
|---|---|---|
| data | Payload data peristiwa. | { "subscription": "projects/my-project/subscriptions/my-sub", "message": { "attributes": { "attr1":"attr1-value" }, "data": "aGVsbG8gd29ybGQ=", "messageId": "2070443601311540", "publishTime":"2021-02-26T19:13:55.749Z" } } |
| datacontenttype | Jenis data yang telah diteruskan | application/json |
| id | ID unik untuk acara | 2070443601311540 |
| sumber | Sumber peristiwa | //pubsub.googleapis.com/projects/my-project/topics/my-topic |
| specversion | Versi spesifikasi CloudEvents yang digunakan untuk peristiwa ini | 1.0 |
| jenis | Jenis data peristiwa | google.cloud.pubsub.topic.v1.messagePublished |
| waktu | Waktu pembuatan peristiwa, dalam format RFC 3339 (opsional) | 2020-12-20T13:37:33.647Z |
Bergantung pada jenis acara, format payload adalah sebagai berikut:
Cloud Audit Logs
Argumen runtime adalah objek JSON yang memerinci peristiwa Cloud Audit Logs. Dalam dokumen ini, lihat Contoh peristiwa umum.
Dalam objek JSON, Anda dapat menemukan nilai resourceName, serviceName, dan methodName. Untuk mengetahui informasi selengkapnya, lihat
Menentukan filter peristiwa untuk Cloud Audit Logs.
Peristiwa jenis google.cloud.audit.log.v1.written memiliki format berikut:
{ "data":{ EVENT_DATA }, "datacontenttype": "application/json; charset=utf-8", "id": "MESSAGE_ID", "source": "//cloudaudit.googleapis.com/projects/PROJECT_ID/logs/data_access", "specversion": "1.0", "type": "google.cloud.audit.log.v1.written", "time": "EVENT_GENERATION_TIME", "dataschema": "https://googleapis.github.io/google-cloudevents/jsonschema/google/events/cloud/audit/v1/LogEntryData.json", "methodName": "jobservice.jobcompleted", "resourceName": "projects/my-project/jobs/bqjob_r3ac45813612fa2d6_0000017d591922c9_1", "serviceName": "bigquery.googleapis.com", "subject": "bigquery.googleapis.com/projects/my-project/jobs/bqjob_r3ac45813612fa2d6_0000017d591922c9_1" }
EVENT_DATA: konten pesan yang didekode dalam format JSON. Untuk mengetahui informasi selengkapnya, lihat Peristiwa umum dalam dokumen ini.MESSAGE_ID,EVENT_GENERATION_TIME: dibuat oleh sistem.PROJECT_ID: Google Cloud Project ID Anda.dataschema,methodName,resourceName,serviceName,subject: atribut khusus untuk jenis acara.
Cloud Storage
Argumen runtime adalah perubahan pada Cloud Storage. Di kolom data, Anda dapat menemukan perubahan di bucket Cloud Storage. Dalam
dokumen ini, lihat
Contoh peristiwa umum.
Peristiwa jenis google.cloud.storage.object.v1.finalized memiliki format berikut:
{ "data":{ EVENT_DATA }, "datacontenttype": "application/json", "id": "MESSAGE_ID", "source": "//storage.googleapis.com/projects/_/buckets/BUCKET_NAME", "specversion": "1.0", "type": "google.cloud.storage.object.v1.finalized", "time": "EVENT_GENERATION_TIME", "subject": "objects/my-file.txt" }
EVENT_DATA: konten pesan yang didekode dalam format JSON. Untuk mengetahui informasi selengkapnya, lihat Peristiwa umum dalam dokumen ini.MESSAGE_ID,EVENT_GENERATION_TIME: dibuat oleh sistem.BUCKET_NAME: nama bucket Cloud Storage yang diperbarui.subject: atribut khusus untuk jenis peristiwa.
Pub/Sub
Argumen runtime adalah pesan push Pub/Sub. Di kolom data, Anda dapat menemukan pesan sebagai string berenkode Base64. Dalam dokumen ini, lihat
Contoh peristiwa umum.
Peristiwa jenis google.cloud.pubsub.topic.v1.messagePublished memiliki
format berikut:
{ "data":{ EVENT_DATA }, "datacontenttype": "application/json; charset=utf-8", "id": "MESSAGE_ID", "source": "//pubsub.googleapis.com/TOPIC_NAME", "specversion": "1.0", "type": "google.cloud.pubsub.topic.v1.messagePublished", "time": "EVENT_GENERATION_TIME" }
EVENT_DATA: konten pesan yang didekode dalam format JSON. Untuk mengetahui informasi selengkapnya, lihat Peristiwa umum dalam dokumen ini.