註冊物件變更

本頁面說明如何設定及使用 Cloud Storage 的 Cloud Pub/Sub 通知。Cloud Pub/Sub 通知可讓您追蹤 Cloud Storage 物件的變更。如要進一步瞭解 Cloud Storage 適用的 Cloud Pub/Sub,請參閱通知概念頁面

必備條件

使用這項功能之前,您應先具備以下條件:

  1. 針對要接收通知的專案啟用 Cloud Pub/Sub API。

    啟用 API

  2. 針對要監控的值區取得足夠的權限:

  3. 針對要接收通知的專案取得足夠的權限:

    • 如果您擁有要接收通知的專案,代表您非常有可能已經具備必要權限。

    • 如果您要建立用於接收通知的主題,則必須具備 pubsub.topics.create 權限。

    • 無論您要使用新主題或現有主題,都必須具備 pubsub.topics.setIamPolicy 權限。如果您建立主題,通常會具備主題的 pubsub.topics.setIamPolicy

      請參閱 Cloud Pub/Sub 存取權控管相關操作說明,瞭解如何取得這些 Cloud Pub/Sub 權限。

  4. 擁有現有的 Cloud Pub/Sub 主題,可接收您所傳送的通知。

  5. 針對與包含 Cloud Storage 值區的專案相關聯的服務帳戶,取得服務帳戶的電子郵件地址

  6. 使用您在上一個步驟取得的電子郵件地址,針對所需的 Cloud Pub/Sub 主題授予服務帳戶 IAM 角色 pubsub.publisher

套用通知設定

下列步驟會將通知設定新增至值區,以針對所有支援的事件傳送通知。如要傳送事件子集的通知,請在 gsutil 指令中納入 -e 標記,或在 JSON 要求主體中納入 event_types 金鑰。

gsutil

使用 gsutil notification create 指令,並將 [VALUES_IN_BRACKETS] 替換為適當的值:

gsutil notification create -t [TOPIC_NAME] -f json gs://[BUCKET_NAME]

如果使用的 [TOPIC_NAME] 不在您的專案中,gsutil 會自動建立。

JSON API

  1. OAuth 2.0 Playground 取得授權存取憑證。將 Playground 設為使用您自己的 OAuth 憑證。
  2. 建立含有下列資訊的 .json 檔案,並將 [VALUES_IN_BRACKETS] 替換為適當的值:

    {
    "topic": "projects/[PROJECT_ID]/topics/[TOPIC_NAME]",
    "payload_format": "JSON_API_V1"
    }

  3. 透過 POST notificationConfigs 要求使用 cURL 呼叫 JSON API,並將 [VALUES_IN_BRACKETS] 替換成適當的值:

    curl -X POST --data-binary @[JSON_FILE_NAME].json 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    -H "Content-Type: application/json"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/notificationConfigs"

列出值區的通知設定

如要列出與特定值區相關聯的通知設定:

gsutil

使用 gsutil notification list 指令,並將 [VALUES_IN_BRACKETS] 替換為適當的值:

gsutil notification list gs://[BUCKET_NAME]

JSON API

  1. OAuth 2.0 Playground 取得授權存取憑證。將 Playground 設為使用您自己的 OAuth 憑證。
  2. 透過 {GET notificationConfigs 要求使用 cURL 呼叫 JSON API,並將 [VALUES_IN_BRACKETS] 替換成適當的值:

    curl -X GET 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/notificationConfigs"

移除通知設定

如要從值區中移除現有的通知設定:

gsutil

使用 gsutil notification delete 指令,並將 [VALUES_IN_BRACKETS] 替換為適當的值:

gsutil notification delete projects/_/buckets/[BUCKET_NAME]/notificationConfigs/[CONFIGURATION_NAME]

傳送後,系統最多可能需要 30 秒才能停止通知設定所觸發的所有通知。

JSON API

  1. OAuth 2.0 Playground 取得授權存取憑證。將 Playground 設為使用您自己的 OAuth 憑證。
  2. 透過 DELETE notificationConfigs 要求使用 cURL 呼叫 JSON API,並將 [VALUES_IN_BRACKETS] 替換成適當的值:

    curl -X DELETE 
    -H "Authorization: Bearer [OAUTH2_TOKEN]"
    "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/notificationConfigs/[CONFIGURATION_NAME]"

傳送後,系統最多可能需要 30 秒才能停止通知設定所觸發的所有通知。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Storage
需要協助嗎?請前往我們的支援網頁