Crea una sessione di pagamento
Una sessione di pagamento è un contesto di pagamento limitato nel tempo che, facoltativamente, impone un budget di spesa. Quando la sessione scade o viene raggiunto il budget, le ulteriori richieste di pagamento all'interno di quella sessione vengono rifiutate. Per lo schema completo di richiesta e risposta, consulta CreatePaymentSessionl'API Reference.
Puoi automatizzare i passaggi di questa pagina con l'abilità AgentCore Pagamenti nel toolkit per AWS agenti. L'abilità fa parte del plug-in aws-agents e consente a un agente di codifica AI di creare Payment Manager, connettore, fornitore di credenziali, strumento di pagamento e sessione utilizzando la agentcore CLI e di aggiungere uno strumento di pagamento x402 al tuo agente. Per i dettagli, consulta il quickstart e il toolkit per agenti su.AWS GitHub
Esempio
- 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()),
)
Se utilizzi la AgentCore CLI (v0.19.0+), passa --auto-session a per agentcore invoke creare o riutilizzare una sessione con il limite di spesa predefinito configurato sul tuo gestore dei pagamenti. Ciò elimina la necessità di creare sessioni manualmente per la maggior parte dei flussi di lavoro.
Richiedi una sessione di pagamento
Esempio
- 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']}")