Mainframe Connector トランスコーダーの Pub/Sub 公開形式を構成するには、必要な構成を JSON ファイルに追加し、qsam decode コマンドを使用して --input-parameter pubsub-publish-configuration=DataPath オプションでこのファイルを指定します。PubsubConfiguration セクションで指定されているように、Pub/Sub パブリッシュ構成を定義する必要があります。
このページでは、トランスコード用の入力パラメータとして構成できるさまざまな Pub/Sub パラメータについて説明します。PubsubPublishConfiguration オブジェクトには、すべての Pub/Sub デコーダ構成オプションが含まれています。
PubsubPublishConfiguration
PubsubPublishConfiguration オブジェクトを使用すると、Pub/Sub に送信されるメッセージを構成できます。このオブジェクトは、qsam decode コマンドとともに使用されます。
| JSON 表現 | 
|---|
{ "attributes_configuration": object (  | 
    
| フィールド | |
|---|---|
attributes_configuration | 
            
                 
 属性の構成を指定します。構成は、Pub/Sub メッセージに添付できる Key-Value ペアとして指定できます。この構成は、メッセージのフィルタリングや追加のメタデータの伝達に使用できます。  | 
        
ordering_key_configuration | 
            
                 
 順序付けキーの構成を指定します。この構成では、同じ順序指定キーを持つメッセージが順序どおりに配信されることを確認します。この構成を設定しないと、メッセージの順序は保証されません。  | 
        
spillover_configuration | 
            
                 
 スピルオーバー メッセージの送信方法の構成を指定します。設定されていない場合、スピルオーバー メッセージは   | 
        
batching_settings | 
            
                 
 メッセージをパブリッシュするためのバッチ設定を指定します。デフォルトでは、バッチ処理は無効になっています。詳細については、バッチ設定で公開するをご覧ください。  | 
        
flow_control_settings | 
            
                 
 メッセージのパブリッシュに使用するフロー制御設定を指定します。デフォルトでは、フロー制御設定は無効になっています。詳細については、フロー制御設定によるメッセージのパブリッシュをご覧ください。  | 
        
concurrency_control_settings | 
            
                 
 パブリッシャー クライアントの同時実行とメッセージ処理の設定を指定します。これらの設定は、メッセージの公開、配信の成功の確認、公開プロセス中のエラー処理の並列処理を制御します。詳細については、同時実行制御をご覧ください。  | 
        
AttributesConfiguration
AttributesConfiguration メッセージには、Pub/Sub メッセージの属性の取得方法を定義する一連の固定属性を指定します。
| JSON 表現 | 
|---|
{ "attributes": object (  | 
    
| フィールド | |
|---|---|
attributes | 
            
                 
 Pub/Sub メッセージに適用する固定の Key-Value 属性のコレクション。  | 
        
OrderingKeyConfiguration
OrderingKeyConfiguration メッセージでは、Pub/Sub メッセージの順序指定キーの決定方法を定義する順序指定キーとして静的文字列を指定します。
| JSON 表現 | 
|---|
{ "key": string  | 
    
| フィールド | |
|---|---|
key | 
            
                 
 Pub/Sub メッセージの順序付けキーとして使用する文字列値。  | 
        
SpilloverConfiguration
SpilloverConfiguration メッセージは、スピルオーバー メッセージの代替トピックを指定する方法を定義します。トピック名全体を指定することも、入力トピック名に接尾辞を追加することもできます。この 2 つのオプションは相互に排他的です。どちらか一方を選択する必要があります。
| 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 Key-Value ペアのコレクションを指定します。
| JSON 表現 | 
|---|
{ "attribute": object (  | 
    
| フィールド | |
|---|---|
attribute | 
            
                 
 Key-Value ペアのコレクションを指定します。  | 
        
属性
Attribute メッセージは、Pub/Sub メッセージ属性として使用される単一の Key-Value ペアを表します。
| JSON 表現 | 
|---|
{ "key": string, "value": string  | 
    
| フィールド | |
|---|---|
key | 
            
                 
 属性のキーを指定します。  | 
        
value | 
            
                 
 属性の値を指定します。  | 
        
LimitExceededBehavior
LimitExceededBehavior 列挙型を使用すると、フロー制御の上限を超えた場合の動作を構成できます。
| 列挙型 | |
|---|---|
BLOCK | 
            上限を超えると、Pub/Sub パブリッシャーはブロックされます。これにより、リソースが使用可能になるまで、メッセージの公開がブロックされます。 | 
IGNORE | 
            Pub/Sub パブリッシャーは上限を無視し、上限を超えてもパブリッシュを続けます。これにより、リソースの消費量が増加する可能性があります。 | 
THROW_EXCEPTION | 
            Pub/Sub パブリッシャーは、上限を超えると例外をスローし、パブリッシュに失敗したことを示します。 |