View a markdown version of this page

创建付款会话 - 亚马逊基岩 AgentCore

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建付款会话

付款会话是一种有时限的付款环境,可以选择强制执行支出预算。当会话到期或达到预算时,该会话内的其他付款请求将被拒绝。有关完整的请求和响应架构,请参阅 API 参考CreatePaymentSession中的。

提示

您可以使用 AWS 代理工具包中的 AgentCore 付款技能自动执行此页面上的步骤。该技能是 aws-agents 插件的一部分,它允许 AI 编码代理使用 agentcore CLI 创建您的支付管理器、连接器、凭证提供商、支付工具和会话,并为您的代理添加流程付款工具。有关详细信息,请参阅上的 GitHub快速入门和AWS 代理工具包。

例
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-sessionagentcore 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']}")