Solace

Solace 連接器可提供 Solace 連線。

事前準備

使用 Solace 連接器前,請先完成下列工作:

  • 在 Google Cloud 專案中:
    • 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
    • roles/connectors.admin IAM 角色授予設定連線器的使用者。
    • 將下列 IAM 角色授予要用於連接器的服務帳戶:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請建立服務帳戶。詳情請參閱「建立服務帳戶」。

    • 啟用下列服務:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      如要瞭解如何啟用服務,請參閱「啟用服務」。

    如果專案先前未啟用這些服務或權限,系統會在設定連結器時提示您啟用。

設定連接器

連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分中,選擇連線位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援的地區清單,請參閱「位置」一文。

    2. 點選「下一步」
  4. 在「連線詳細資料」部分,完成下列步驟:
    1. 連接器:從可用連接器的下拉式清單中選取「Solace」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個字元。
      • 如果連接器支援事件訂閱,連接名稱開頭不得為「goog」前置字串。
    4. 視需要輸入連線執行個體的「Description」(說明)
    5. 服務帳戶:選取具備必要角色的服務帳戶。
    6. 如要將連線用於事件訂閱,請選取「啟用事件訂閱」。選取這個選項後,系統就會啟用事件訂閱功能和動作。
    7. 訊息 VPN:要連線的 Solace Pub/Sub+ 訊息路由器訊息 VPN。連線專屬於 Message VPN。如果您有多個訊息 VPN,則必須為每個訊息 VPN 建立個別連線。
    8. 預設佇列名稱:預設佇列的名稱,執行動作時可能會遭到覆寫。
    9. 預設主題名稱:要連線的主題名稱。
    10. (選用) 如要使用 SSL,請選取「啟用 SSL」,並指定 SSL 設定詳細資料。
      1. 選取信任儲存區類型。您可以指定「公開」、「私人」或「不安全連線」
      2. 根據信任存放區選取憑證。舉例來說,如果您選取「私人」,請指定自訂信任存放區。
      3. 如果您使用 mTLS,請在「金鑰儲存區」部分選取金鑰儲存區憑證。
      4. 視需要選取 TLS 版本。
      5. 輸入支援的加密套件。輸入多個密碼編譯套件,並以半形逗號分隔值。詳情請參閱「支援的密碼編譯套件」。
    11. (選用) 設定連線節點設定
      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。如要處理更多連線交易,就需要更多節點;反之,如要處理較少的交易,則需要較少的節點。如要瞭解節點對連線器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。

    12. (選用) 按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    13. 點選「下一步」
  5. 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
    1. 目的地類型:選取目的地類型
      • 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
      • 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。

      如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。

    2. 點選「下一步」
  6. 在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
    1. 選取「驗證類型」並輸入相關詳細資料。

      Solace 連線支援下列驗證類型:

      • 匿名
      • 使用者名稱和密碼
    2. 如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    3. 點選「下一步」
  7. 在「事件訂閱詳細資料」部分,設定事件相關詳細資料。
    • 輸入無法傳送郵件的設定。如果設定無效信件,連線會將未處理的事件寫入指定的 Pub/Sub 主題。輸入下列詳細資料:
      1. 無法傳送的訊息專案 ID: 您已設定無法傳送的訊息 Pub/Sub 主題的 Google Cloud 專案 ID。
      2. 無效信件主題: 要寫入未處理事件詳細資料的 Pub/Sub 主題。
  8. 檢查:檢查連線和驗證詳細資料。
  9. 點選「建立」

設定驗證機制

根據要使用的驗證方式輸入詳細資料。

  • 匿名

    如要使用匿名登入,請選取「不適用」

  • 使用者名稱和密碼
    • 使用者名稱:要用於連線的 Solace 使用者名稱。
    • 密碼:Secret Manager 密鑰,內含與 Solace 使用者名稱相關聯的密碼。

實體、作業和動作

所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。

  • 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。

    不過,連接器可能不支援或沒有任何實體,在這種情況下,Entities 清單會是空白。

  • 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:

    從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在 Operations 清單中列出這些不支援的作業。

  • 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時 Actions 清單會是空白。

動作

Solace 連線支援下列動作:

  • sendMessage:將訊息傳送至佇列。
  • requestReply:將訊息傳送至佇列,並指定回覆者應撰寫回覆的佇列。

sendMessage 動作

下表說明 sendMessage 動作的輸入和輸出參數。

sendMessage 動作的輸入參數

參數名稱 必填 資料類型 說明
訊息 字串 要傳送至 Solace 佇列的訊息。目前支援的訊息大小上限為 10 MB。
queueName 字串 Solace 佇列的名稱。如果未指定佇列名稱,系統會使用建立連線時指定的預設佇列名稱。
messageContentType 字串 郵件內容類型,您可以指定為 TextBytes。如要傳送二進位資料,請務必將類型設為 Bytes

如要以二進位格式傳送訊息,請完成下列工作:

  • 將二進位訊息編碼為 Base64 字串,然後將 message 參數設為編碼值。
  • messageContentType 參數的值設為 Bytes
messageType 字串 訊息類型,您可以指定為 DatagramReply
topicName 字串 Solace 主題的名稱。如果未指定主題名稱,系統會使用建立連線時指定的預設佇列名稱。

sendMessage 動作的輸出參數

參數名稱 資料類型 說明
messageId 字串 傳送訊息的 ID。

範例

下列酬載用於將 Datagram Text Message 傳送至佇列。

  {
    "message": "Hello world",
    "messageContentType": "Text",
    "messageType": "Datagram",
    "queueName": "solace-queue"
  }

輸出酬載類似如下:

[{
    "messageId": "ID:414d51207365637572*******6501db3640"
}]

下列酬載用於將回覆位元組訊息傳送至主題。

{
    "message": "NDggNjUgNmMgNmMgNmYgMjAgNTcgNmYgNzIgNmMgNjQ=",
    "messageContentType": "Bytes",
    "messageType": "Reply",
    "topicName": "solace-topic"
}

輸出酬載類似如下:

[{
  "messageId": "ID:414d512073656375726561707068656ce595386501db3640"
}]

requestReply 動作

下表說明 requestReply 動作的輸入和輸出參數。

requestReply 動作的輸入參數

參數名稱 必填 資料類型 說明
訊息 字串 要傳送至 Solace 佇列的訊息。支援的郵件大小上限為 10 MB。
queueName 字串 Solace 佇列的名稱。如果未指定佇列名稱,系統會使用建立連線時指定的預設佇列名稱。
messageContentType 字串 郵件內容類型,您可以指定為 TextBytes。如要傳送二進位資料,請務必將類型設為 Bytes

如要以二進位格式傳送訊息,請完成下列工作:

  • 將二進位訊息編碼為 Base64 字串,然後將 message 參數設為編碼值。
  • messageContentType 參數的值設為 Bytes
replyToQueue 字串 回覆者應在其中寫入回覆的佇列。
replyTimeout 字串 連接器在回應佇列中等待回應的時間 (以毫秒為單位)。 支援的最大值為 180000 毫秒 (3 分鐘)。

如果回應佇列在逾時期間後收到訊息,連接器就不會處理該訊息。不過,您可以在整合的執行記錄中查看逾時訊息的詳細資料。

requestReply 動作的輸出參數

參數名稱 資料類型 說明
replyMessage 字串 回覆者的回覆訊息。

範例

下列酬載用於從回覆者傳送回覆訊息。

{
  "message": "Hello world",
  "messageContentType": "Text",
  "queueName": "solace-queue",
  "replyToQueue": "solace-reply-queue",
  "replyTimeout": 10
}

輸出酬載類似如下:

{
    "replyMessage": "Message received"
}

使用 Terraform 建立連線

您可以使用 Terraform 資源建立新連線。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

如要查看用於建立連線的 Terraform 範本範例,請參閱範本範例

使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:

參數名稱 資料類型 必填 說明
default_queue_name STRING 預設佇列的名稱,執行動作時可能會覆寫。
default_topic_name STRING 預設主題的名稱,執行動作時可能會覆寫。
queue_manager_name STRING 要連線的佇列管理工具名稱。
channel_name STRING 要連線至 Queue Manager 的管道。

在整合中使用的 Solace 連線

建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連接器」工作使用連線。

  • 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
  • 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。

向 Google Cloud 社群尋求協助

如要發布問題及討論這個連接器,請前往 Cloud 論壇的 Google Cloud 社群。

後續步驟