View a markdown version of this page

支払いセッションを作成する - Amazon Bedrock AgentCore

支払いセッションを作成する

支払いセッションは、オプションで支出予算を適用する期限付きの支払いコンテキストです。セッションの有効期限が切れるか、予算に達すると、そのセッション内の追加の支払いリクエストは拒否されます。完全なリクエストとレスポンスのスキーマについては、 API リファレンスのCreatePaymentSession」を参照してください。

ヒント

エージェント AWS ツールキットの AgentCore Payments スキルを使用して、このページのステップを自動化できます。このスキルは aws-agents プラグインの一部であり、AI コーディングエージェントが agentcore CLI を使用して Payment Manager、コネクタ、認証情報プロバイダー、支払い手段、セッションを作成し、x402 支払いツールをエージェントに追加できるようにします。詳細については、GitHub のクイックスタートとエージェントツールキットを参照してください。 AWS GitHub

AgentCore SDK
from bedrock_agentcore.payments import PaymentManager manager = PaymentManager( payment_manager_arn=mgr["paymentManagerArn"], region_name="us-west-2" ) # Create payment session with payment limits session = manager.create_payment_session( user_id="test-user-123", limits={"maxSpendAmount": {"value": "100.00", "currency": "USD"}}, expiry_time_in_minutes=60 )
AWS CLI
aws bedrock-agentcore create-payment-session \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --user-id "test-user-123" \ --expiry-time-in-minutes 60 \ --limits '{"maxSpendAmount": {"value": "100.00", "currency": "USD"}}' \ --client-token "$(uuidgen)" \ --region us-west-2
AWS SDK
import boto3 import uuid dp_client = boto3.client("bedrock-agentcore", region_name="us-west-2", endpoint_url="https://bedrock-agentcore.us-west-2.amazonaws.com") # Create payment session with payment limits session = dp_client.create_payment_session( userId="test-user-123", paymentManagerArn=PAYMENT_MANAGER_ARN, expiryTimeInMinutes=120, limits={"maxSpendAmount": {"value": "100.00", "currency": "USD"}}, clientToken=str(uuid.uuid4()), )
ヒント

AgentCore CLI (v0.19.0+) を使用する場合は、 --auto-session を に渡しagentcore invoke、支払いマネージャーで設定されたデフォルトの使用制限でセッションを作成または再利用します。これにより、ほとんどのワークフローでセッションを手動で作成する必要がなくなります。

支払いセッションを取得する

AgentCore SDK
session = manager.get_payment_session( user_id="test-user-123", payment_session_id="payment-session-abc123" ) print(f"Status: {session['status']}, Remaining: {session['remainingAmount']}")
AWS CLI
aws bedrock-agentcore get-payment-session \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-session-id "payment-session-abc123" \ --region us-west-2
AWS SDK
response = dp_client.get_payment_session( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentSessionId="payment-session-abc123" ) print(f"Status: {response['status']}") print(f"Spent: {response['spentAmount']} / {response['limits']['maxSpendAmount']['value']}")