

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# SendCommand
<a name="API_QLDB-Session_SendCommand"></a>

Envoie une commande à un registre Amazon QLDB.

**Note**  
Au lieu d'interagir directement avec cette API, nous vous recommandons d'utiliser le pilote QLDB ou le shell QLDB pour exécuter des transactions de données sur un registre.  
Si vous travaillez avec un AWS SDK, utilisez le pilote QLDB. Le pilote fournit une couche d'abstraction de haut niveau au-dessus de cette API de données de session *QLDB* et gère `SendCommand` l'opération pour vous. Pour obtenir des informations et une liste des langages de programmation pris en charge, consultez [Getting started with the driver](https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html) dans le manuel *Amazon QLDB Developer Guide*.
Si vous travaillez avec le AWS Command Line Interface (AWS CLI), utilisez le shell QLDB. Le shell est une interface de ligne de commande qui utilise le pilote QLDB pour interagir avec un registre. Pour plus d'informations, consultez [Accès à Amazon QLDB à l'aide du shell QLDB](https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html).

## Syntaxe de la requête
<a name="API_QLDB-Session_SendCommand_RequestSyntax"></a>

```
{
   "AbortTransaction": { 
   },
   "CommitTransaction": { 
      "CommitDigest": blob,
      "TransactionId": "string"
   },
   "EndSession": { 
   },
   "ExecuteStatement": { 
      "Parameters": [ 
         { 
            "IonBinary": blob,
            "IonText": "string"
         }
      ],
      "Statement": "string",
      "TransactionId": "string"
   },
   "FetchPage": { 
      "NextPageToken": "string",
      "TransactionId": "string"
   },
   "SessionToken": "string",
   "StartSession": { 
      "LedgerName": "string"
   },
   "StartTransaction": { 
   }
}
```

## Paramètres de demande
<a name="API_QLDB-Session_SendCommand_RequestParameters"></a>

Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez [Paramètres courants](CommonParameters.md).

Cette demande accepte les données suivantes au format JSON.

 ** [AbortTransaction](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-AbortTransaction"></a>
Commande pour annuler la transaction en cours.  
Type : objet [AbortTransactionRequest](API_QLDB-Session_AbortTransactionRequest.md)  
Obligatoire : non

 ** [CommitTransaction](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-CommitTransaction"></a>
Commande permettant de valider la transaction spécifiée.  
Type : objet [CommitTransactionRequest](API_QLDB-Session_CommitTransactionRequest.md)  
Obligatoire : non

 ** [EndSession](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-EndSession"></a>
Commande pour terminer la session en cours.  
Type : objet [EndSessionRequest](API_QLDB-Session_EndSessionRequest.md)  
Obligatoire : non

 ** [ExecuteStatement](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-ExecuteStatement"></a>
Commande permettant d'exécuter une instruction dans la transaction spécifiée.  
Type : objet [ExecuteStatementRequest](API_QLDB-Session_ExecuteStatementRequest.md)  
Obligatoire : non

 ** [FetchPage](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-FetchPage"></a>
Commande pour récupérer une page.  
Type : objet [FetchPageRequest](API_QLDB-Session_FetchPageRequest.md)  
Obligatoire : non

 ** [SessionToken](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-SessionToken"></a>
Spécifie le jeton de session pour la commande en cours. Un jeton de session est constant pendant toute la durée de la session.  
Pour obtenir un jeton de session, exécutez la `StartSession` commande. Cela `SessionToken` est obligatoire pour chaque commande suivante émise au cours de la session en cours.  
Type : String  
Contraintes de longueur : longueur minimale de 4. Longueur maximum de 1024.  
Modèle : `^[A-Za-z-0-9+/=]+$`   
Obligatoire : non

 ** [StartSession](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-StartSession"></a>
Commande pour démarrer une nouvelle session. Un jeton de session est obtenu dans le cadre de la réponse.  
Type : objet [StartSessionRequest](API_QLDB-Session_StartSessionRequest.md)  
Obligatoire : non

 ** [StartTransaction](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-StartTransaction"></a>
Commande pour démarrer une nouvelle transaction.  
Type : objet [StartTransactionRequest](API_QLDB-Session_StartTransactionRequest.md)  
Obligatoire : non

## Syntaxe de la réponse
<a name="API_QLDB-Session_SendCommand_ResponseSyntax"></a>

```
{
   "AbortTransaction": { 
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      }
   },
   "CommitTransaction": { 
      "CommitDigest": blob,
      "ConsumedIOs": { 
         "ReadIOs": number,
         "WriteIOs": number
      },
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      },
      "TransactionId": "string"
   },
   "EndSession": { 
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      }
   },
   "ExecuteStatement": { 
      "ConsumedIOs": { 
         "ReadIOs": number,
         "WriteIOs": number
      },
      "FirstPage": { 
         "NextPageToken": "string",
         "Values": [ 
            { 
               "IonBinary": blob,
               "IonText": "string"
            }
         ]
      },
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      }
   },
   "FetchPage": { 
      "ConsumedIOs": { 
         "ReadIOs": number,
         "WriteIOs": number
      },
      "Page": { 
         "NextPageToken": "string",
         "Values": [ 
            { 
               "IonBinary": blob,
               "IonText": "string"
            }
         ]
      },
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      }
   },
   "StartSession": { 
      "SessionToken": "string",
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      }
   },
   "StartTransaction": { 
      "TimingInformation": { 
         "ProcessingTimeMilliseconds": number
      },
      "TransactionId": "string"
   }
}
```

## Eléments de réponse
<a name="API_QLDB-Session_SendCommand_ResponseElements"></a>

Si l’action aboutit, le service renvoie une réponse HTTP 200.

Les données suivantes sont renvoyées au format JSON par le service.

 ** [AbortTransaction](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-AbortTransaction"></a>
Contient les détails de la transaction abandonnée.  
Type : objet [AbortTransactionResult](API_QLDB-Session_AbortTransactionResult.md)

 ** [CommitTransaction](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-CommitTransaction"></a>
Contient les détails de la transaction validée.  
Type : objet [CommitTransactionResult](API_QLDB-Session_CommitTransactionResult.md)

 ** [EndSession](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-EndSession"></a>
Contient les détails de la session terminée.  
Type : objet [EndSessionResult](API_QLDB-Session_EndSessionResult.md)

 ** [ExecuteStatement](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-ExecuteStatement"></a>
Contient les détails de l'instruction exécutée.  
Type : objet [ExecuteStatementResult](API_QLDB-Session_ExecuteStatementResult.md)

 ** [FetchPage](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-FetchPage"></a>
Contient les détails de la page récupérée.  
Type : objet [FetchPageResult](API_QLDB-Session_FetchPageResult.md)

 ** [StartSession](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-StartSession"></a>
Contient les détails de la session démarrée, y compris un jeton de session. Cela `SessionToken` est obligatoire pour chaque commande suivante émise au cours de la session en cours.  
Type : objet [StartSessionResult](API_QLDB-Session_StartSessionResult.md)

 ** [StartTransaction](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-StartTransaction"></a>
Contient les détails de la transaction démarrée.  
Type : objet [StartTransactionResult](API_QLDB-Session_StartTransactionResult.md)

## Erreurs
<a name="API_QLDB-Session_SendCommand_Errors"></a>

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez [Erreurs courantes](CommonErrors.md).

 ** BadRequestException **   
Renvoyé si la demande est mal formulée ou contient une erreur telle qu’une valeur de paramètre non valide ou un paramètre obligatoire manquant.  
Code d’état HTTP : 400

 ** CapacityExceededException **   
Renvoyé lorsque la demande dépasse la capacité de traitement du registre.  
Code d’état HTTP : 400

 ** InvalidSessionException **   
Renvoyé si la session n’existe plus après avoir expiré.  
Code d’état HTTP : 400

 ** LimitExceededException **   
Renvoie si une limite de ressources telle que le nombre de sessions actives est dépassée.  
Code d’état HTTP : 400

 ** OccConflictException **   
Renvoyé lorsqu'une transaction ne peut pas être écrite dans le journal en raison d'un échec lors de la phase de vérification du *contrôle de simultanéité optimiste* (OCC).  
Code d’état HTTP : 400

 ** RateExceededException **   
Renvoyé lorsque le taux de demandes dépasse le débit autorisé.  
Code d’état HTTP : 400

## consultez aussi
<a name="API_QLDB-Session_SendCommand_SeeAlso"></a>

Pour plus d'informations sur l'utilisation de cette API dans l'un des langages spécifiques AWS SDKs, consultez ce qui suit :
+  [Interface de ligne de commande AWS](https://docs.aws.amazon.com/goto/aws-cli/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour .NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour Python](https://docs.aws.amazon.com/goto/boto3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK pour Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/qldb-session-2019-07-11/SendCommand) 