注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

プロコードエージェントを外部システムに接続する

CBAC が有効な環境では、ソースを使用したプロコードエージェントの外部システムへの接続に対応していません。

プロコードエージェントが外部システム(監視サービス、Webhook、サードパーティー API など)にアクセスする必要がある場合や、APIキーやトークンなどのシークレットを必要とする場合は、ソースを使用します。

ソースは、実行時にプロコードエージェントに次の2つを提供します。

  • ソースが指すホストへのネットワークのエグレス。ソースによってネットワークポリシーが自動的に追加されるため、エグレスを別途設定する必要はありません。
  • 実行中のエージェントコンテナ内の /app/var/run/source_credentials.json に配信されるシークレット。

ソースの資格情報を読み取る

Foundry は、解決済みのシークレットを /app/var/run/source_credentials.json に書き込みます。ファイルは次の形式です。

Copied!
1 2 3 4 5 { "<sourceApiName>": { "<secretApiName>": "<secret value>" } }

エージェントのコードから読み取ります。

Copied!
1 2 3 4 5 6 7 8 9 import * as fs from "fs"; type SourceCredentials = Record<string, Record<string, string>>; const creds: SourceCredentials = JSON.parse( fs.readFileSync("/app/var/run/source_credentials.json", "utf-8"), ); const externalSystemApiKey = creds["example"]?.["api_key"];

資格情報を読み取る際は、次の点に注意してください。

  • 資格情報を解決できなかった場合、ファイルの内容は {} になります。
  • ファイルの内容をメモリーにキャッシュしないでください。ファイルはアトミックに置き換えられる(分割できない単一の操作として置き換えられ、部分的な状態や中間状態は見えない)ため、現在の値が必要なときに読み取ってください。

次のステップ