接收 Cloud Storage 的直接事件 (Google Cloud 控制台)

本快速入門導覽課程說明如何在未經驗證的 Cloud Run 服務中,接收 Cloud Storage 的直接事件。

您可以設定在 Cloud Storage 值區內發生各種事件時觸發通知,包括建立、刪除、封存物件,以及更新中繼資料。詳情請參閱「建立觸發條件,將 Cloud Storage 事件轉送至 Cloud Run」。

您可以使用 Google Cloud 控制台完成本快速入門導覽課程。如需使用 Google Cloud CLI 的操作說明,請參閱「接收 Cloud Storage 的直接事件 (gcloud CLI)」。

在本快速入門導覽課程中,您將:

  1. 建立 Cloud Storage bucket 做為事件來源。

  2. 將範例服務部署至 Cloud Run 以接收事件。

  3. 建立 Eventarc 觸發條件以篩選及轉送事件。

  4. 將檔案上傳至 Cloud Storage bucket 以產生事件,以及在 Cloud Run 記錄中查看該事件。


如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


事前準備

貴機構定義的安全性限制,可能會導致您無法完成下列步驟。如需疑難排解資訊,請參閱「在受限的 Google Cloud 環境中開發應用程式」。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

建立 Cloud Storage 值區

本快速入門導覽課程會使用 Cloud Storage 做為事件來源。

  1. 前往 Google Cloud 控制台的「Cloud Storage」>「Overview」(總覽) 頁面。

    前往總覽頁面

  2. 按一下 「建立 bucket」

  3. 輸入值區的專屬名稱

    例如 hello-bucket

  4. 按一下「繼續」

  5. 在「位置類型」下方選取「區域」,然後選取「us-central1 (Iowa)」(us-central1 (愛荷華州))

  6. 接受其他預設值。

  7. 點選「建立」

建立事件來源後,即可將事件接收器服務部署至 Cloud Run。

將事件接收器服務部署至 Cloud Run

部署範例 Cloud Run 服務,接收並記錄事件。

  1. 前往 Google Cloud 控制台的 Cloud Run「Services」頁面。

    前往「服務」分頁

  2. 依序點選 「Deploy container」(部署容器)>「Service」(服務)

  3. 在「建立服務」表單中:

    1. 選取「透過現有的容器映像檔部署單一修訂版本」

    2. 按一下「Test with a sample container」(使用範例容器進行測試)

    3. 在「Region」(區域) 清單中,為服務位置選取「us-central1 (Iowa)」(us-central1 (愛荷華州))

    4. 在「驗證」中選取「允許未經驗證的叫用」

    5. 接受其他預設值。

    6. 如要部署範例容器映像檔,請按一下「建立」

hello 服務的部署作業最多可能需要兩分鐘才能完成。

建立 Eventarc 觸發條件

Eventarc 觸發條件會將 Cloud Storage bucket 中的事件傳送至範例 Cloud Run 服務。

  1. 在 Google Cloud 控制台中,依序前往「Eventarc」>「Triggers」(觸發條件) 頁面。

    前往「Triggers」(觸發條件)

  2. 按一下「建立觸發條件」

  3. 輸入觸發條件名稱

    例如 hello-trigger

  4. 在「Trigger type」(觸發條件類型) 清單中,選取「Google sources」(Google 來源)

    這項功能會篩選從 Google Cloud 供應商傳送的事件 (直接傳送或透過 Cloud 稽核記錄項目傳送),或是使用 Pub/Sub 訊息的供應商。

  5. 在「Event provider」(事件提供者) 清單中,選取「Cloud Storage」

  6. 在「Event type」(事件類型) 清單中,依序選取「Direct」(直接) >「google.cloud.storage.object.v1.finalized」

  7. 在「Bucket」(值區) 部分,選取您先前建立的 Cloud Storage 值區「hello-bucket」

  8. 如果出現系統提示,請按以下指示授權:

    • 為 Pub/Sub 服務帳戶授予 iam.serviceAccountTokenCreator 角色
    • 為 Cloud Storage 服務帳戶授予 pubsub.publisher 角色
  9. 使用「Default compute service account」(預設運算服務帳戶) 做為叫用您服務的服務帳戶。

  10. 在「Event destination」(事件目的地) 清單中,選取「Cloud Run」

  11. 「Cloud Run service」(Cloud Run 服務) 的部分,選取您先前建立的範例「hello」服務。

  12. 接受其他預設值。

  13. 點選「建立」

所有必要權限可能需要幾分鐘的時間,才會套用至 Eventarc 服務代理。如果收到 Permission denied while using the Eventarc Service Agent 錯誤,請稍候幾分鐘,然後再試一次。建立觸發條件後,最多可能需要兩分鐘才能正常運作。

產生及查看活動

產生事件,並確認 Eventarc 觸發條件是否正常運作。

  1. 如要產生事件,請按照下列步驟操作:

    1. 建立檔案名稱為 random.txt 且包含「Hello World」文字的文字檔案。

    2. 在 Google Cloud 控制台中,依序前往「Cloud Storage」>「Buckets」頁面。

      前往值區

    3. 按一下您建立的儲存空間 bucket 名稱。

    4. 在「Objects」(物件) 分頁中,按一下「Upload files」(上傳檔案),然後上傳 random.txt 檔案。

    上傳作業會產生事件,而 Cloud Run 服務會記錄事件的訊息。

  2. 如要查看記錄項目:

    1. 前往 Google Cloud 控制台的 Cloud Run「Services」頁面。

      前往「服務」分頁

    2. 按一下您建立的服務名稱。

    3. 如要擷取這項服務所有修訂版本的記錄項目,請在「Service details」(服務詳細資料) 頁面上,按一下「Logs」(記錄檔) 分頁標籤。您可以依記錄的嚴重性等級進行篩選。

    4. 尋找類似下列內容的記錄項目:

      Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]

恭喜!您已成功將事件接收器服務部署至 Cloud Run、建立 Eventarc 觸發程序、從 Cloud Storage 產生事件,並在 Cloud Run 記錄檔中查看該事件。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。

不使用服務時,Cloud Run 不會收費,但您可能仍須支付將容器映像檔儲存於 Container RegistryCloud Run 資源,以及將檔案儲存於 Cloud Storage 值區的費用。

您可以刪除映像檔刪除儲存空間 bucket,以及刪除 Cloud Run 服務

如何刪除 Eventarc 觸發條件:

  1. 在 Google Cloud 控制台中,前往 Eventarc「Triggers」(觸發條件) 頁面。

    前往「Triggers」(觸發條件)

  2. 按一下您建立的觸發條件名稱。

  3. 在「Triggers details」(觸發條件詳細資料) 頁面中,按一下 「Delete」(刪除)

或者,您也可以刪除 Google Cloud 專案,以免產生費用。 刪除 Google Cloud 專案後,系統就會停止對專案使用的所有資源收取費用。

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

後續步驟