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.
Header permintaan HTTP
Layanan target menerima peristiwa dari perouter peristiwa sebagai permintaan HTTP POST yang diformat ke spesifikasi pengikatan protokol HTTP
CloudEvents versi 1.0. Setiap permintaan HTTP berisi header dan isi khusus peristiwa, dan dikirim ke jalur URL root (/
) layanan.
Selain header HTTP lainnya, semua peristiwa memiliki header HTTP CloudEvents berikut:
Header | Deskripsi | Contoh |
---|---|---|
ce-id | ID unik untuk acara | 1096434104173400 |
ce-source | Mengidentifikasi sumber peristiwa | //pubsub.googleapis.com/projects/my-project/topics/my-topic |
ce-specversion | Versi spesifikasi CloudEvents yang digunakan untuk peristiwa ini | 1.0 |
ce-type | Jenis data peristiwa | google.cloud.pubsub.topic.v1.messagePublished |
ce-time | Waktu pembuatan peristiwa, dalam format RFC 3339 (opsional) | 2020-12-20T13:37:33.647Z |
Format payload HTTP
Cloud Audit Logs
Peristiwa jenis google.cloud.audit.log.v1.written
memiliki format berikut:
Header
ce-specversion: 1.0 ce-type: google.cloud.audit.log.v1.written ce-source: //SERVICE_NAME/projects/PROJECT_ID ce-id: MESSAGE_ID ce-time: PUBLISH_TIME Content-Type: application/json; charset=utf-8 Content-Length: CONTENT_LENGTH
SERVICE_NAME
: URI Google API untuk layanan yang mengeluarkan peristiwa; misalnya,bigquery.googleapis.com
untuk peristiwa dari BigQuery.PROJECT_ID
: ID project Google Cloud Anda.MESSAGE_ID
,PUBLISH_TIME
,CONTENT_LENGTH
: dibuat oleh sistem.
Isi
Payload adalah objek JSON yang memerinci peristiwa Cloud Audit Logs. Di
protoPayload
, Anda dapat menemukan nilai resourceName
, serviceName
, dan methodName
. Untuk mengetahui informasi selengkapnya, lihat
Menentukan filter peristiwa untuk Cloud Audit Logs.
Pub/Sub
Peristiwa jenis google.cloud.pubsub.topic.v1.messagePublished
memiliki format berikut:
Header
ce-specversion: 1.0 ce-type: google.cloud.pubsub.topic.v1.messagePublished ce-source: //pubsub.googleapis.com/TOPIC ce-id: MESSAGE_ID ce-time: PUBLISH_TIME Content-Type: application/json; charset=utf-8 Content-Length: CONTENT_LENGTH
TOPIC
: topik Pub/Sub tempat peristiwa dipublikasikan.MESSAGE_ID
,PUBLISH_TIME
,CONTENT_LENGTH
: dibuat oleh sistem.
Isi
Payload adalah pesan push Pub/Sub. Di kolom data
, Anda dapat menemukan pesan sebagai string berenkode Base64. Lihat
contoh dalam dokumen ini.
Repositori open source
Struktur isi HTTP untuk semua peristiwa tersedia di repositori GitHub CloudEvents.
Repositori berisi hal berikut untuk membantu Anda memahami dan menggunakan data CloudEvents dalam bahasa pemrograman Anda:
- Google Protocol Buffers untuk payload data CloudEvents
- Skema JSON yang dihasilkan
- Katalog skema JSON publik
Link ke library klien juga disertakan.
Acara umum
Buffer Protokol (atau protobuf) merepresentasikan data dalam peristiwa yang dihasilkan oleh Eventarc. Protocol Buffers untuk CloudEvents disediakan sebagai skema yang dapat dibaca mesin, sehingga memungkinkan pembuatan library jenis data dan mempermudah penggunaan peristiwa.
Ada dua pesan protobuf yang relevan untuk jenis CloudEvent tertentu:
- Pesan envelope yang merepresentasikan CloudEvent lengkap,
termasuk atribut ekstensi; misalnya,
AuditLogWrittenEvent
. - Pesan data; misalnya,
LogEntryData
atauStorageObjectData
.
StorageObjectData
sebagai pesan data. Setiap pesan envelope
menentukan jenis CloudEvent yang terkait dengannya melalui anotasi proto.
Untuk mengetahui informasi selengkapnya, lihat Hubungan antara pesan protobuf dan jenis CloudEvent.
Tabel berikut menjelaskan komponen beberapa peristiwa umum:
Cloud Audit Logs
File proto | google/events/cloud/audit/v1/events.proto google/events/cloud/audit/v1/data.proto |
Pesan amplop | google.events.cloud.audit.v1.AuditLogWrittenEvent |
Pesan data | google.events.cloud.audit.v1.LogEntryData |
Jenis peristiwa (saat entri log audit ditulis) |
google.cloud.audit.log.v1.written |
Ekstensi acara |
|
Contoh |
Log audit Pub/Sub Log audit BigQuery |
Informasi selengkapnya |
Membuat pemicu Eventarc untuk peristiwa Cloud Audit Logs Menentukan filter peristiwa untuk Cloud Audit Logs Layanan Google Cloud dengan log audit |
Cloud Storage
File proto |
google/events/cloud/storage/v1/events.proto google/events/cloud/storage/v1/data.proto |
Pesan amplop | google.events.cloud.storage.v1.ObjectFinalizedEvent google.events.cloud.storage.v1.ObjectArchivedEvent google.events.cloud.storage.v1.ObjectDeletedEvent google.events.cloud.storage.v1.ObjectMetadataUpdatedEvent |
Pesan data | google.events.cloud.storage.v1.StorageObjectData |
Resource |
Objects |
Jenis acara |
Lihat daftar jenis peristiwa langsung. |
Contoh |
Sederhana Kompleks |
Informasi selengkapnya |
Membuat pemicu Eventarc untuk peristiwa Cloud Storage Menerima peristiwa dari Cloud Storage di layanan Cloud Run |
Firestore
File proto |
google/events/cloud/firestore/v1/events.proto google/events/cloud/firestore/v1/data.proto |
Pesan amplop | google.events.cloud.firestore.v1.DocumentCreatedEvent google.events.cloud.firestore.v1.DocumentUpdatedEvent google.events.cloud.firestore.v1.DocumentDeletedEvent google.events.cloud.firestore.v1.DocumentWrittenEvent |
Pesan data | google.events.cloud.firestore.v1.DocumentEventData |
Resource |
Document
|
Jenis peristiwa | Lihat daftar jenis peristiwa langsung. |
Contoh |
Sederhana Kompleks |
Informasi selengkapnya |
Membuat pemicu Eventarc untuk peristiwa Firestore Membuat arsitektur berbasis peristiwa dengan Eventarc dan Firestore Memperluas dengan fungsi Cloud Run untuk menangani peristiwa yang dipicu oleh perubahan di Firestore |
Pub/Sub
File proto |
google/events/cloud/pubsub/v1/events.proto google/events/cloud/pubsub/v1/data.proto |
Pesan amplop | google.events.cloud.pubsub.v1.MessagePublishedEvent |
Pesan data | google.events.cloud.pubsub.v1.MessagePublishedData |
Resource |
PubsubMessage
|
Jenis peristiwa (saat pesan Pub/Sub dipublikasikan) |
google.cloud.pubsub.topic.v1.messagePublished |
Contoh | Teks |
Informasi selengkapnya |
Menerima
peristiwa di layanan Cloud Run menggunakan pesan Pub/Sub Memicu alur kerja menggunakan pesan Pub/Sub |
Langkah berikutnya
Pelajari rute peristiwa lebih lanjut.