View a markdown version of this page

Création d'une session de paiement - Amazon Bedrock AgentCore

Création d'une session de paiement

Une session de paiement est un contexte de paiement limité dans le temps qui impose éventuellement un budget de dépenses. Lorsque la session expire ou que le budget est atteint, les autres demandes de paiement au cours de cette session sont refusées. Pour le schéma complet de demande et de réponse, reportez-vous CreatePaymentSessionà la référence de l'API.

Astuce

Vous pouvez automatiser les étapes de cette page à l'aide de la compétence AgentCore Paiements de la boîte à outils de l' AWS agent. Cette compétence fait partie du plugin aws-agents et permet à un agent de codage basé sur l'IA de créer votre gestionnaire de paiement, votre connecteur, votre fournisseur d'informations d'identification, votre instrument de paiement et votre session à l'aide de la agentcore CLI, et d'ajouter un outil de paiement x402 à votre agent. Pour plus de détails, consultez le guide de démarrage rapide et le kit d'outils de l'AWS agent sur GitHub.

Exemple
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()), )
Astuce

Si vous utilisez la AgentCore CLI (v0.19.0+), passez --auto-session à pour agentcore invoke créer ou réutiliser une session avec la limite de dépenses par défaut configurée sur votre gestionnaire de paiements. Il n'est donc plus nécessaire de créer des sessions manuellement pour la plupart des flux de travail.

Obtenir une session de paiement

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