本頁說明如何設定 bucket,將物件變更通知傳送至 Pub/Sub 主題。如要瞭解如何訂閱接收通知的 Pub/Sub 主題,請參閱「選擇訂閱類型」。
事前準備
使用這項功能前,請先完成下列操作。
啟用 Pub/Sub API
針對要接收通知的專案啟用 Pub/Sub API。
取得必要角色
如要取得設定及查看 bucket Pub/Sub 通知所需的權限,請要求管理員授予下列角色。這些預先定義的角色具備設定及查看 Pub/Sub 通知所需的權限。
您要設定 Pub/Sub 通知的 bucket 的「Storage 管理員」角色 (
roles/storage.admin
)您要在其中接收 Pub/Sub 通知的專案,必須具備 Pub/Sub 管理員 (
roles/pubsub.admin
) 角色
如需如何授予值區角色,請參閱「將 IAM 與值區搭配使用」。如要瞭解如何授予專案角色,以及設定主題和訂閱項目的存取權控管,請參閱「控管存取權」一文。
確認您有現有的 Pub/Sub 主題
如果尚未建立要傳送通知的 Pub/Sub 主題,請先建立主題。如果您打算使用 Google Cloud CLI 或 Terraform 執行本頁的操作說明,則不需要執行這個步驟。
將必要角色授予專案的服務代理
如果您打算使用 Google Cloud CLI 或 Terraform 執行本頁的指示,則不需要執行下列步驟。
針對與包含 Cloud Storage 值區的專案相關聯的服務代理,取得服務代理的電子郵件地址。
針對相關 Pub/Sub 主題,授予服務代理人 Pub/Sub 發布者 (
roles/pubsub.publisher
) 角色。如要瞭解如何授予主題角色,請參閱「控管存取權」一文。
套用通知設定
下列步驟會將通知設定新增至值區,以針對所有支援的事件傳送通知。
控制台
您無法使用Trusted Cloud 控制台管理 Pub/Sub 通知。請改用 gcloud CLI 或其中一個可用的用戶端程式庫。
指令列
使用 gcloud storage buckets notifications create
指令:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
其中:
BUCKET_NAME
是相關值區的名稱。例如:my-bucket
。TOPIC_NAME
是要傳送通知的 Pub/Sub 主題。如果您指定的專案中沒有該主題,指令會為您建立一個。
如要傳送事件子集的通知,請納入 --event-types
標記。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Terraform
您可以使用 Terraform 資源,將通知設定新增至 bucket。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。建立包含下列資訊的 JSON 檔案:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
其中:
PROJECT_ID
是與您要傳送通知的 Pub/Sub 主題相關聯的專案 ID。例如:my-pet-project
。TOPIC_NAME
是要傳送通知的 Pub/Sub 主題。例如:my-topic
。
使用
cURL
來透過POST notificationConfigs
要求呼叫呼叫 JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/notificationConfigs"
其中:
JSON_FILE_NAME
是您在步驟 2 建立的檔案路徑。BUCKET_NAME
是您要產生通知的值區名稱。例如:my-bucket
。
XML API
您無法使用 XML API 管理 Pub/Sub 通知。
取得通知設定
如要取得與值區相關聯的特定通知設定,請完成下列步驟:
控制台
您無法使用Trusted Cloud 控制台管理 Pub/Sub 通知。請改用 Google Cloud CLI 或其中一個可用的用戶端程式庫。
指令列
使用 gcloud storage buckets notifications describe
指令:
gcloud storage buckets notifications describe projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
其中:
BUCKET_NAME
是要擷取通知設定的值區名稱,例如my-bucket
。NOTIFICATION_ID
是相關設定的 ID 號碼。例如:5
。
如果成功,回應會類似以下範例:
etag: '132' id: '132' kind: storage#notification payload_format: JSON_API_V1 selfLink: https://www.s3nsapis.fr/storage/v1/b/my-bucket/notificationConfigs/132 topic: //pubsub.googleapis.com/projects/my-project/topics/my-bucket
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過GET notificationConfigs
要求呼叫 JSON API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
其中:
BUCKET_NAME
是要擷取通知設定的值區名稱。例如:my-bucket
。NOTIFICATION_ID
是要擷取的通知設定 ID 號碼。例如:5
。
XML API
您無法使用 XML API 管理 Pub/Sub 通知。
列出 bucket 的通知設定
如要列出與特定值區相關聯的所有通知設定:
控制台
您無法使用Trusted Cloud 控制台管理 Pub/Sub 通知。請改用 gcloud CLI 或其中一個可用的用戶端程式庫。
指令列
使用 gcloud storage buckets notifications list
指令:
gcloud storage buckets notifications list gs://BUCKET_NAME
其中 BUCKET_NAME
是您要列出通知設定的值區名稱。例如:my-bucket
。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過GET notificationConfigs
要求呼叫 JSON API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/notificationConfigs"
其中
BUCKET_NAME
是您要列出通知設定的值區名稱。例如:my-bucket
。
XML API
您無法使用 XML API 管理 Pub/Sub 通知。
移除通知設定
如要從值區中移除現有的通知設定:
控制台
您無法使用Trusted Cloud 控制台管理 Pub/Sub 通知。請改用 gcloud CLI 或其中一個可用的用戶端程式庫。
指令列
使用 gcloud storage buckets notifications delete
指令:
gcloud storage buckets notifications delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
其中:
BUCKET_NAME
是要刪除通知設定的值區名稱。例如:my-bucket
。NOTIFICATION_ID
是要刪除的設定 ID 編號。例如:5
。
如果成功,回應會類似以下範例:
Completed 1
傳送後,系統最多可能需要 30 秒才能停止通知設定所觸發的所有通知。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Terraform
如要移除您建立的通知設定,請從包含 Terraform 檔案的資料夾執行 terraform destroy
。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過DELETE notificationConfigs
要求呼叫 JSON API:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
其中:
BUCKET_NAME
是要刪除通知設定的值區名稱。例如:my-bucket
。NOTIFICATION_ID
是要刪除的通知設定 ID 編號。例如:5
。
傳送後,系統最多可能需要 30 秒才能停止通知設定所觸發的所有通知。
XML API
您無法使用 XML API 管理 Pub/Sub 通知。
後續步驟
進一步瞭解 Cloud Storage 的 Pub/Sub 通知。
在 Pub/Sub 中建立訂閱,以查看 Cloud Storage 傳送的通知。