您可以透過在 JSON 檔案中新增必要的設定,並使用 --input-parameter pubsub-publish-configuration
=DataPath 選項搭配 qsam decode
指令指定此檔案,來設定 Mainframe Connector 轉碼器的 Pub/Sub 發布格式。您必須按照 PubsubConfiguration 一節所述定義 Pub/Sub 發布設定。
本頁面說明可用於轉碼作業的輸入參數,以及可設定的各種 Pub/Sub 參數。PubsubPublishConfiguration
物件包含所有 Pub/Sub 解碼器設定選項。
PubsubPublishConfiguration
PubsubPublishConfiguration
物件可讓您設定要傳送至 Pub/Sub 的訊息,並與 qsam decode
指令搭配使用。
JSON 表示法 |
---|
{ "attributes_configuration": object ( |
欄位 | |
---|---|
attributes_configuration |
指定屬性設定。您可以將設定指定為鍵/值組合,並附加至 Pub/Sub 訊息。接著,您可以使用這項設定篩選訊息,或傳達其他中繼資料。 |
ordering_key_configuration |
指定排序鍵設定。這項設定會驗證是否依序傳送含有相同排序鍵的訊息。如果您未設定這項設定,系統無法保證訊息的順序。 |
spillover_configuration |
指定溢出郵件傳送方式的設定。如果未設定,溢出訊息會傳送至附有 |
batching_settings |
指定發布訊息的批次設定。根據預設,系統會停用批次處理功能。詳情請參閱「使用批次設定發布」。 |
flow_control_settings |
指定用於發布訊息的流程控制設定。根據預設,系統會停用流程控制設定。詳情請參閱「使用流量控管設定發布訊息」。 |
concurrency_control_settings |
指定發布商用戶端的並行作業和訊息處理設定。這些設定可控管發布訊息的並行處理、確認成功傳送,以及處理發布過程中的任何錯誤。詳情請參閱「並行控制」。 |
AttributesConfiguration
AttributesConfiguration
訊息會指定一組固定屬性,定義 Pub/Sub 訊息的屬性來源。
JSON 表示法 |
---|
{ "attributes": object ( |
欄位 | |
---|---|
attributes |
一組固定的鍵/值屬性,用於附加至 Pub/Sub 訊息。 |
OrderingKeyConfiguration
OrderingKeyConfiguration
訊息會將靜態字串指定為排序鍵,藉此定義如何判斷 Pub/Sub 訊息的排序鍵。
JSON 表示法 |
---|
{ "key": string |
欄位 | |
---|---|
key |
用來做為 Pub/Sub 訊息排序鍵的字串值。 |
SpilloverConfiguration
SpilloverConfiguration
訊息定義了如何為溢出郵件指定其他主題。您可以指定完整的主題名稱或後置字串,以便附加至輸入的主題名稱。這兩個選項互斥,您必須選擇其中一個。
JSON 表示法 |
---|
{ "name": string, "suffix": string |
欄位 | |
---|---|
name |
請使用 |
suffix |
指定要附加至溢出訊息輸入主題名稱的字尾。舉例來說,如果輸入的主題是 |
BatchingSettings
BatchingSettings
訊息可讓您指定要將訊息發布至 Pub/Sub 的批次設定。請確認批次設定已設定為遵守定義的 Pub/Sub 配額和限制。如要停用批次處理功能,請設定 message_count_threshold=1
。
JSON 表示法 |
---|
{ "delay_threshold": string, "element_count_threshold": long, "request_byte_threshold": long |
欄位 | |
---|---|
delay_threshold |
指定用於批次處理的延遲門檻。在 |
element_count_threshold |
指定用於批次處理的訊息數量門檻。當 |
request_byte_threshold |
指定要累積的訊息大小上限 (以位元組為單位),然後再將批次傳送至 Pub/Sub。即使延遲時間或訊息數量門檻都未超出,這項規定仍會適用。如果您的訊息一向很小,建議您提高位元組門檻。預設值為 1 個位元組。 |
FlowControlSettings
FlowControlSettings
訊息可讓您指定發布端用戶端如何管理 Pub/Sub 的訊息流程。這些設定可避免用戶端消耗過多資源,或造成 Pub/Sub 負荷過重。
JSON 表示法 |
---|
{ "limit_exceeded_behavior": enum ( |
欄位 | |
---|---|
limit_exceeded_behavior |
指定超出流程控制限制時的行為。預設值為 |
max_outstanding_element_count |
指定可保留的訊息數量上限 (已傳送但尚未獲得 Pub/Sub 確認的訊息)。如果主機有充足的記憶體,且您想提高總處理量,可以嘗試增加計數。 |
max_outstanding_request_bytes |
指定未處理郵件的總大小上限 (以位元組為單位)。 |
ConcurrencyControlSettings
ConcurrencyControlSettings
訊息可讓您設定訊息發布作業的並行作業。這些設定會影響可同時傳送的郵件數量。
JSON 表示法 |
---|
{ "publishing_threads": int, "result_processing_threads": int |
欄位 | |
---|---|
publishing_threads |
指定要發布訊息的處理執行緒數量。這個值應等於或小於可用的核心數。如果執行緒數量為 0,則會同步處理發布作業。 |
result_processing_threads |
指定處理 Pub/Sub 訊息結果的執行緒數量。包括確認成功傳送的訊息,以及處理發布期間發生的任何錯誤。如果值為 0,表示結果處理平行作業會以同步方式處理。預設值為 1。 |
屬性
Attributes
訊息會指定一組 Attribute
鍵/值組合,用於定義屬性的判斷方式。
JSON 表示法 |
---|
{ "attribute": object ( |
欄位 | |
---|---|
attribute |
指定鍵/值組合集合。 |
屬性
Attribute
訊息代表用於做為 Pub/Sub 訊息屬性的單一鍵/值組合。
JSON 表示法 |
---|
{ "key": string, "value": string |
欄位 | |
---|---|
key |
指定屬性鍵。 |
value |
指定屬性值。 |
LimitExceededBehavior
LimitExceededBehavior
列舉可讓您設定超出流程控制限制時的行為。
列舉 | |
---|---|
BLOCK |
超過限制時,Pub/Sub 發布者會封鎖。這麼做可避免在資源可用之前,繼續發布其他訊息。 |
IGNORE |
Pub/Sub 發布者會忽略限制,並在超過限制時繼續發布。這可能會導致資源用量增加。 |
THROW_EXCEPTION |
超過限制時,Pub/Sub 發布者會擲回例外狀況,表示發布失敗。 |