Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

AMQP

amqpチャネルはAMQP 0-9-1ブローカー(RabbitMQおよび互換)からメッセージを消費します。各配信はエージェントループの実行、SOP実行の開始、またはその両方を駆動でき、エイリアスごとにdispatchフィールドで選択されます。

これは SOP イベントソースです。 トリガー構文、ルーティングキーのマッチング、および配線の SOP 側については、SOP Fan-In: AMQP を参照してください。このページでは、ブローカー接続とディスパッチモードについて説明します。

設定

ライブスキーマから導出された全フィールドの一覧です。基本的なコンシューマーでは、amqp_urlexchangerouting_keys を設定します。

amqp_url* 🔑 secret · default

AMQP ブローカー URL。平文には amqp://、TLS には amqps:// を使用します(例: amqps://fedora:@rabbitmq.fedoraproject.org/%2Fpublic_pubsub)。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.amqp_url フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.amqp_url フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.amqp_url    # マスクされた入力、暗号化して保存

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__amqp_url=
ca_cert string? · default

amqps:// 接続用の CA 証明書バンドルへのパス。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.ca_cert フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.ca_cert フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.ca_cert <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__ca_cert=
client_cert 🔑 secret · default

ブローカーの mutual-TLS 認証用クライアント証明書へのパス (Fedora Messaging にはクライアント証明書が必要です)。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.client_cert フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.client_cert フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.client_cert    # マスクされた入力、暗号化して保存

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__client_cert=
client_key 🔑 secret · default

client_cert に対応するクライアント秘密鍵のパス。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.client_key フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.client_key フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.client_key    # マスクされた入力、暗号化して保存

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__client_key=
content_template string · default ""

受信メッセージ内容のテンプレート。{field} プレースホルダーは、JSON 配信本文のトップレベルキーから補間されます。空の場合は、配信本文の生データがそのまま使用されます。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.content_template フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.content_template フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.content_template <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__content_template=
dispatch SopDispatch · default "agent_loop"

消費した配信のルーティング先: エージェントのターンを駆動する(agent_loop、デフォルト)、SOP エンジンにディスパッチする(sop)、またはその両方(sop_and_agent_loop)。sop および sop_and_agent_loop モードでは、ルーティングキーによって配信を SOP の amqp トリガーと照合します。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.dispatch フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.dispatch フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.dispatch <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__dispatch=
durable_ack bool · default true

確認応答モード。true(デフォルト)の場合、配信はメッセージがエージェントループに永続的に渡された後にのみ ACK され、at-least-once セマンティクスになります。ハンドオフ前のクラッシュはイベントを再配信します。false に設定すると at-most-once(ブローカーがディスパッチ時に ACK)となり、クラッシュ時にインフライトのイベントをサイレントにドロップし、副作用がなく過負荷時にドロップするコンシューマーにのみ適しています。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.durable_ack フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.durable_ack フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.durable_ack <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__durable_ack=
exchange* string · default

コンシューマーキューをバインドするエクスチェンジ (例: amq.topic)。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.exchange フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.exchange フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.exchange <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__exchange=
excluded_tools string[] · default []

このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.excluded_tools フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.excluded_tools フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.excluded_tools <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__excluded_tools=
queue string? · default

キュー名。サーバー生成の一時的な自動削除される排他キューを使用する場合は未設定のままにします。再接続をまたぐ永続的な配信が必要な場合のみ、安定した名前(UUID を推奨)を設定します。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.queue フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.queue フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.queue <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__queue=
routing_keys string[] · default []

バインドするルーティングキー。関心のあるトピックにスコープを絞ってください。# をバインドするとエクスチェンジ全体を消費してしまい、望ましい動作であることはほとんどありません。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.routing_keys フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.routing_keys フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.routing_keys <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__routing_keys=
sender_label string · default "amqp"

このソースからの各配信で ChannelMessage.sender に設定される値(例: anitya)。オーケストレーターの自己ループガードとチャネルごとのルーティングが送信元を識別できるようにします。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.sender_label フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.sender_label フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.sender_label <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__sender_label=
thread_id_field string · default ""

JSON 配信ボディへのドット区切りパス。その値がメッセージの thread_ts となり、返信を元のイベントに関連付けます(例: message.project.name)。空の場合はスレッディングを無効にします。

任意のサーフェスに設定する場合:

ゲートウェイダッシュボード

/config/channels/amqp を開き、channels.amqp.<alias>.thread_id_field フィールドを設定します。

zerocode

Config ペインで、channels.amqp.<alias>.thread_id_field フィールドを設定します。

zeroclaw config

zeroclaw config set channels.amqp.<alias>.thread_id_field <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__amqp__<alias>__thread_id_field=

完全なフィールドリファレンス: config reference

ディスパッチモード

dispatch フィールドは配信の動作を決定します:

  • agent_loop(デフォルト): デリバリーはメッセージとしてエージェントループに渡されます。これにより元の動作が維持され、既存のコンシューマーには影響しません。
  • sop: 配信は SOP イベントに変換され(ルーティングキーはイベントトピックに、ボディはペイロードに)、SOP エンジンにディスパッチされます。SOP Fan-In: AMQP を参照してください。
  • sop_and_agent_loop: 上記の両方を各デリバリーごとに実行します。

TLS

TLS トランスポートの場合、amqp_urlamqps:// エンドポイントに指定し、ca_cert を指定します。相互 TLS の場合は、client_certclient_key も設定します。これらがない場合、接続は平文になります。信頼できないネットワーク上で平文のコンシューマーを公開しないでください。

トラブルシューティング

症状考えられる原因修正
消費されたメッセージはありませんpublisher と exchange またはルーティングキーが一致しませんパブリッシャーが発行する内容に対して exchangerouting_keys を検証する
TLS ハンドシェイクに失敗しましたamqps://ca_cert がない、または証明書とキーの不一致ca_cert を指定してください。mTLS の場合は client_certclient_key のペアを検証します
配送は到着するがSOPが開始しないdispatchagent_loopであるか、またはSOPトリガーが一致しませんdispatchsop または sop_and_agent_loop に設定します。trigger のルーティングキーを確認してください

関連項目も参照してください