查看 Application Integration 支援的連接器。
Cloud Pub/Sub 觸發條件
Cloud Pub/Sub 觸發條件可讓您根據 Pub/Sub 中介軟體中的事件執行整合作業。
使用這個觸發條件,您就能在發布者將訊息寫入所選主題時執行整合作業。主題可以位於與整合作業相同的 Google Cloud 專案中,也可以位於不同的 Google Cloud 專案中。這個觸發事件執行時,也會將已發布的訊息寫入 CloudPubSubMessage
輸出變數。您可以根據需求,在下游觸發事件或工作中使用這個變數。
如要瞭解如何使用應用程式整合和 Cloud Pub/Sub 觸發條件建立整合範例,請參閱「監聽 Cloud Pub/Sub 主題並傳送電子郵件」一文。
使用這個觸發條件,您就能在發布者將訊息寫入所選主題時執行整合作業。執行這個觸發條件時,系統也會將已發布的訊息寫入 CloudPubSubMessage 輸出變數。您可以根據需求,在下游觸發事件或工作中使用這個變數。
事前準備
請務必先在 Google Cloud 專案中執行下列任務,再設定 Cloud Pub/Sub 觸發事件。
- 將「專案 IAM 管理員」 (
roles/resourcemanager.projectIamAdmin
) 指派給建立此觸發條件的使用者。 - 針對已整合的 Google Cloud 專案啟用 Pub/Sub API。
- Access Context Manager 管理員 (
roles/accesscontextmanager.policyAdmin
) - Access Context Manager 編輯器 (
roles/accesscontextmanager.policyEditor
) - Access Context Manager 讀取者 (
roles/accesscontextmanager.policyReader
) - 確認您有 Pub/Sub 主題。如要建立新的 Pub/Sub 主題,請按照下列步驟操作:
- 前往 Cloud 控制台的 Pub/Sub 主題頁面。
- 按一下 [Create a topic] (建立主題)。
- 在「Topic ID」欄位中,提供專屬主題名稱。
- 按一下 [儲存]。
如果 Pub/Sub API 受到服務範圍保護,請務必定義下列 IAM 角色,以便管理這些服務範圍:
如要進一步瞭解如何為主體授予角色,請參閱「授予、變更及撤銷存取權」一文。
新增 Cloud Pub/Sub 觸發條件
如要將 Cloud Pub/Sub 觸發條件新增至新整合或現有整合,請按照下列步驟操作:- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 在導覽選單中,按一下「整合」
系統隨即會顯示「Integrations List」頁面,列出 Google Cloud 專案中可用的所有整合項目。
- 選取現有的整合,或按一下「建立整合」來建立新的整合。
如果您要建立新的整合功能:
- 在「Create Integration」窗格中輸入名稱和說明。
- 選取整合作業的區域。
- 選取要用於整合的服務帳戶。您隨時可以透過整合工具列的 「整合摘要」窗格,變更或更新整合作業的服務帳戶詳細資料。
- 按一下 [建立]。
新建立的整合服務會在整合服務編輯器中開啟。
- 在整合服務編輯器的導覽列中,按一下「觸發條件」,即可查看可用的觸發條件清單。
- 按一下並將 Cloud Pub/Sub 觸發條件元素放入設計工具。
設定 Cloud Pub/Sub 觸發事件
按一下整合編輯器中的 Cloud Pub/Sub 觸發條件元素,即可查看觸發條件設定窗格,然後執行下列工作:
- 在「Pub/Sub topic」欄位中,使用以下格式指定觸發條件應聆聽的主題:
projects/PROJECT_ID/topics/TOPIC_ID
如要查看 Google Cloud 專案中所有可用的主題,請參閱「主題」中的「主題名稱」欄。您也可以從其他 Google Cloud 專案中選取主題。
替換下列內容:PROJECT_ID
:建立主題的 Google Cloud 專案。TOPIC_ID
:Pub/Sub 主題的 ID。主題可以位於與整合項目相同的 Google Cloud 專案中,也可以位於不同的 Google Cloud 專案中。
- 選取要用來叫用整合項目的服務帳戶。您也可以選擇在整合中建立的設定變數。設定變數的值必須是服務帳戶電子郵件地址,格式如下:
SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com
。例如:application-integration-invoke@project123.iam.gserviceaccount.com
。如要瞭解如何建立設定變數,請參閱「建立變數」一文;如要瞭解如何建立服務帳戶,請參閱「建立服務帳戶」一文。
如果您選擇設定變數,請務必將必要角色授予該設定變數參照的服務帳戶。如要進一步瞭解如何授予角色,請參閱「必要的 IAM 角色」。
如果沒有服務帳戶,請按一下「服務帳戶」清單中的「建立新帳戶」,建立服務帳戶。
根據預設,訂閱項目的到期時間選項會設為 never expire
。如要將到期日設為其他值,請在 Google Cloud 控制台的「Pub/Sub 訂閱項目」頁面中編輯訂閱項目。
服務帳戶所需的 IAM 角色
選取服務帳戶後,按一下「授予」,系統會自動為各種服務帳戶提供下列角色。
服務帳戶 | 已授予 IAM 角色 |
---|---|
應用程式整合的預設服務帳戶:service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com |
如果 Pub/Sub 主題的 Google Cloud 專案與整合的 Google Cloud專案不同,預設服務帳戶需要在主題的 Google Cloud 專案中具備 Pub/Sub 編輯者角色。 |
您為這個觸發條件選取的服務帳戶 |
Application Integration 叫用者 (roles/integrations.integrationInvoker )
|
觸發輸出
針對每個事件,Cloud Pub/Sub 觸發事件會產生 CloudPubSubMessage
輸出變數,可用於後續工作。這個變數採用 JSON 格式,並具有 PubsubMessage
結構。
為整合建立含篩選條件的訂閱項目
如果您想為 Pub/Sub 訂閱設定篩選器,以便在整合中處理特定事件,請按照下列步驟操作:
- 發布已設定 Cloud Pub/Sub 觸發條件的整合項目。這個步驟會在整合專案中建立訂閱項目。
- 在 Google Cloud 控制台中,前往「訂閱項目」頁面。
- 開啟訂閱項目,並複製所有詳細資料,包括訂閱名稱。
- 刪除現有的訂閱項目。
- 建立新訂閱項目,並加入您在步驟 3 複製的已刪除訂閱項目的所有詳細資料 (包括訂閱項目名稱),以及在新訂閱項目中加入篩選器。
新建立的訂閱項目會觸發與篩除訊息的整合作業。
「服務水準協議」排除條款
Cloud Pub/Sub 觸發條件取決於 Pub/Sub 產品。由於此依附元件是應用程式整合的外部元件,因此只有在 Cloud Pub/Sub 觸發事件成功啟動 active
整合作業時,應用程式整合服務水準協議 (SLA) 的條款和細則才適用。
將 Pub/Sub 觸發條件與 VPC Service Controls 搭配使用
在應用程式整合中設定 Pub/Sub 觸發事件,並嘗試發布整合時,如果 Pub/Sub API 受到 VPC Service Controls 中的服務範圍保護,則無法建立必要的 Pub/Sub 訂閱。
服務範圍會在您的 Google Cloud 資源周圍強制執行安全性邊界,這些政策可防止應用程式整合在發布整合時建立必要的 Pub/Sub 訂閱。
如要在這些情況下成功設定及發布 Pub/Sub 觸發條件,請執行下列步驟:
- 從服務範圍中暫時移除 Pub/Sub API:
- 在 Google Cloud 控制台中,前往「VPC Service Controls」頁面。
- 選取 Google Cloud 專案,該專案包含要在整合中使用的 Pub/Sub 主題。
- (選用) 如果未為所選專案設定存取權政策,系統會顯示「在目前的範圍內找不到虛擬私有雲服務範圍」No VPC Service Perimeters found in current scope 訊息。在這種情況下,請按一下「切換至機構範圍」,前往機構層級。
- 在「VPC Service Controls」頁面的資料表中,按一下您要修改的服務範圍名稱。
- 在「服務範圍詳細資料」頁面中,按一下「編輯」。
- 在「Restricted services」(受限制的服務) 窗格中,篩選並選取
pubsub.googleapis.com
服務。 - 按一下 「移除所選項目」。
- 按一下 [儲存]。在確認對話方塊中,按一下「確認」,即可從 VPC Service Controls 服務範圍中移除 Pub/Sub API。
- 在整合中新增並設定 Pub/Sub 觸發條件。
- 發布整合功能。
- 將 Pub/Sub API 重新加入服務範圍:
- 前往「VPC Service Controls」頁面。
- 在「VPC Service Controls」頁面的資料表中,按一下先前修改的服務範圍。
- 在「服務範圍詳細資料」頁面中,按一下「編輯」。
- 在「受限制的服務」窗格中,按一下 「新增服務」。
- 篩選並選取
pubsub.googleapis.com
服務。 - 按一下「新增所選服務」。
- 按一下 [儲存]。在確認對話方塊中,按一下「確認」,將 Pub/Sub API 重新加入 VPC Service Controls 服務範圍。
定價
您不需要建立連接器,即可使用 Cloud Pub/Sub 觸發條件和 Salesforce 觸發條件。不過,如果您使用連接器任務連結 Pub/Sub 或 Salesforce,系統會依連接器使用量向您收費。如需定價資訊,請參閱「Application Integration 定價」。
注意事項
- Pub/Sub 訊息的大小上限為 10 MB。如要瞭解 Pub/Sub 的所有限制,請參閱「Pub/Sub 配額與限制」。
- Pub/Sub 可能會將相同訊息寫入主題不只一次。如要瞭解 Pub/Sub 的這項行為,請參閱「至少一次的傳送」。因此,您必須將整合設計為冪等,以免訊息寫入主題的次數超過一次。
郵件標頭中的
message_id
欄位可用於識別 Pub/Sub 訊息。 - 如果您取消發布整合,Pub/Sub 訂閱項目不會遭到刪除,以免訊息遺失。不過,如果您刪除已發布的版本或整合項目的所有整合版本,Pub/Sub 訂閱項目也會一併刪除。
配額與限制
如要進一步瞭解配額和限制,請參閱「配額與限制」。