CloudEvents (cloudevents.io) adalah spesifikasi untuk mendeskripsikan data peristiwa dengan cara yang umum. Spesifikasi ini berada di bawah Cloud Native Computing Foundation (CNCF) dan diselenggarakan 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 router peristiwa sebagai permintaan POST HTTP yang diformat ke
spesifikasi pengikatan protokol HTTP CloudEvents versi 1.0. Setiap permintaan HTTP berisi header dan isi khusus peristiwa, serta 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 peristiwa | 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 menerbitkan peristiwa; misalnya,bigquery.googleapis.com
untuk peristiwa dari BigQuery.PROJECT_ID
: Google Cloud Project ID Anda.MESSAGE_ID
,PUBLISH_TIME
,CONTENT_LENGTH
: dibuat sistem.
Isi
Payload adalah objek JSON yang menjelaskan 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 sistem.
Isi
Payload adalah pesan push Pub/Sub. Di kolom data
, Anda
dapat menemukan pesan sebagai string yang dienkode Base64. Lihat
contoh dalam dokumen ini.
Repositori open source
Struktur isi HTTP untuk semua peristiwa tersedia di repositori GitHub CloudEvents.
Repositori ini berisi hal berikut untuk membantu Anda memahami dan menggunakan data CloudEvents dalam bahasa pemrograman:
- Google Protocol Buffers untuk payload data CloudEvents
- Skema JSON yang dihasilkan
- Katalog skema JSON publik
Link ke library klien juga disertakan.
Peristiwa umum
Buffer Protokol (atau protobuf) mewakili data dalam peristiwa yang dihasilkan oleh Eventarc. Protocol Buffers untuk CloudEvents disediakan sebagai skema yang dapat dibaca mesin, sehingga library jenis data dapat dibuat dan mempermudah penggunaan peristiwa.
Ada dua pesan protobuf yang relevan untuk jenis CloudEvent tertentu:
- Pesan envelope yang mewakili CloudEvent lengkap,
termasuk atribut ekstensi apa pun; misalnya,
AuditLogWrittenEvent
. - Pesan data; misalnya,
LogEntryData
atauStorageObjectData
.
StorageObjectData
sebagai pesan data. Setiap pesan amplop
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 peristiwa |
|
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 Google Cloud layanan 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 peristiwa |
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.