View a markdown version of this page

Crear una sesión de pago - Amazon Bedrock AgentCore

Crear una sesión de pago

Una sesión de pago es un contexto de pago con un límite de tiempo que, de forma opcional, impone un presupuesto de gastos. Cuando la sesión caduca o se alcanza el presupuesto, se rechazan más solicitudes de pago dentro de esa sesión. Para ver el esquema completo de solicitudes y respuestas, consulta CreatePaymentSessionla referencia de la API.

sugerencia

Puedes automatizar los pasos de esta página con la habilidad de AgentCore pagos del kit de herramientas para AWS agentes. La habilidad forma parte del complemento aws-agents y permite a un agente de codificación de IA crear su administrador de pagos, conector, proveedor de credenciales, instrumento de pago y sesión mediante la agentcore CLI, y añadir una herramienta de pago x402 a su agente. Para obtener más información, consulte la guía de inicio rápido y el kit de herramientas para agentes en.AWS GitHub

ejemplo
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()), )
sugerencia

Si utilizas la AgentCore CLI (v0.19.0+), pasa --auto-session agentcore invoke a para crear o reutilizar una sesión con el límite de gasto predeterminado configurado en tu administrador de pagos. Esto elimina la necesidad de crear sesiones manualmente para la mayoría de los flujos de trabajo.

Obtenga una sesión de pago

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