

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Invia un comando a un registro Amazon QLDB.

**Nota**  
Invece di interagire direttamente con questa API, consigliamo di utilizzare il driver QLDB o la shell QLDB per eseguire transazioni di dati su un registro.  
Se lavori con un AWS SDK, usa il driver QLDB. Il driver fornisce un livello di astrazione di alto livello sopra questa API di dati di *sessione QLDB* e gestisce l'operazione per te. `SendCommand` Per informazioni e un elenco dei linguaggi di programmazione supportati, consulta [Guida introduttiva al driver](https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html) nella *Amazon QLDB* Developer Guide.
Se stai lavorando con AWS Command Line Interface (AWS CLI), usa la shell QLDB. La shell è un'interfaccia a riga di comando che utilizza il driver QLDB per interagire con un registro. Per informazioni, consulta [Accedere ad Amazon QLDB usando la shell QLDB](https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html).

## Sintassi della richiesta
<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": { 
   }
}
```

## Parametri della richiesta
<a name="API_QLDB-Session_SendCommand_RequestParameters"></a>

Per informazioni sui parametri comuni per tutte le azioni, consulta [Parametri comuni](CommonParameters.md).

La richiesta accetta i seguenti dati in formato JSON.

 ** [AbortTransaction](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-AbortTransaction"></a>
Comando per interrompere la transazione corrente.  
Tipo: oggetto [AbortTransactionRequest](API_QLDB-Session_AbortTransactionRequest.md)  
Campo obbligatorio: no

 ** [CommitTransaction](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-CommitTransaction"></a>
Comando per confermare la transazione specificata.  
Tipo: oggetto [CommitTransactionRequest](API_QLDB-Session_CommitTransactionRequest.md)  
Campo obbligatorio: no

 ** [EndSession](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-EndSession"></a>
Comando per terminare la sessione corrente.  
Tipo: oggetto [EndSessionRequest](API_QLDB-Session_EndSessionRequest.md)  
Campo obbligatorio: no

 ** [ExecuteStatement](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-ExecuteStatement"></a>
Comando per eseguire un'istruzione nella transazione specificata.  
Tipo: oggetto [ExecuteStatementRequest](API_QLDB-Session_ExecuteStatementRequest.md)  
Campo obbligatorio: no

 ** [FetchPage](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-FetchPage"></a>
Comando per recuperare una pagina.  
Tipo: oggetto [FetchPageRequest](API_QLDB-Session_FetchPageRequest.md)  
Campo obbligatorio: no

 ** [SessionToken](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-SessionToken"></a>
Specifica il token di sessione per il comando corrente. Un token di sessione è costante per tutta la durata della sessione.  
Per ottenere un token di sessione, esegui il `StartSession` comando. Questo `SessionToken` è necessario per ogni comando successivo emesso durante la sessione corrente.  
Tipo: stringa  
Vincoli di lunghezza: lunghezza minima di 4. La lunghezza massima è 1024 caratteri.  
Modello: `^[A-Za-z-0-9+/=]+$`   
Campo obbligatorio: no

 ** [StartSession](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-StartSession"></a>
Comando per iniziare una nuova sessione. Un token di sessione viene ottenuto come parte della risposta.  
Tipo: oggetto [StartSessionRequest](API_QLDB-Session_StartSessionRequest.md)  
Campo obbligatorio: no

 ** [StartTransaction](#API_QLDB-Session_SendCommand_RequestSyntax) **   <a name="qldb-QLDB-Session_SendCommand-request-StartTransaction"></a>
Comando per iniziare una nuova transazione.  
Tipo: oggetto [StartTransactionRequest](API_QLDB-Session_StartTransactionRequest.md)  
Campo obbligatorio: no

## Sintassi della risposta
<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"
   }
}
```

## Elementi di risposta
<a name="API_QLDB-Session_SendCommand_ResponseElements"></a>

Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

 ** [AbortTransaction](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-AbortTransaction"></a>
Contiene i dettagli della transazione interrotta.  
Tipo: oggetto [AbortTransactionResult](API_QLDB-Session_AbortTransactionResult.md)

 ** [CommitTransaction](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-CommitTransaction"></a>
Contiene i dettagli della transazione confermata.  
Tipo: oggetto [CommitTransactionResult](API_QLDB-Session_CommitTransactionResult.md)

 ** [EndSession](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-EndSession"></a>
Contiene i dettagli della sessione terminata.  
Tipo: oggetto [EndSessionResult](API_QLDB-Session_EndSessionResult.md)

 ** [ExecuteStatement](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-ExecuteStatement"></a>
Contiene i dettagli dell'istruzione eseguita.  
Tipo: oggetto [ExecuteStatementResult](API_QLDB-Session_ExecuteStatementResult.md)

 ** [FetchPage](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-FetchPage"></a>
Contiene i dettagli della pagina recuperata.  
Tipo: oggetto [FetchPageResult](API_QLDB-Session_FetchPageResult.md)

 ** [StartSession](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-StartSession"></a>
Contiene i dettagli della sessione avviata che include un token di sessione. Questo `SessionToken` è necessario per ogni comando successivo emesso durante la sessione corrente.  
Tipo: oggetto [StartSessionResult](API_QLDB-Session_StartSessionResult.md)

 ** [StartTransaction](#API_QLDB-Session_SendCommand_ResponseSyntax) **   <a name="qldb-QLDB-Session_SendCommand-response-StartTransaction"></a>
Contiene i dettagli della transazione avviata.  
Tipo: oggetto [StartTransactionResult](API_QLDB-Session_StartTransactionResult.md)

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

Per informazioni sugli errori comuni a tutte le operazioni, consultare [Errori comuni](CommonErrors.md).

 ** BadRequestException **   
Restituito se la richiesta non è valida o contiene un errore, ad esempio un valore di parametro non valido o un parametro obbligatorio mancante.  
Codice di stato HTTP: 400

 ** CapacityExceededException **   
Restituito quando la richiesta supera la capacità di elaborazione del registro.  
Codice di stato HTTP: 400

 ** InvalidSessionException **   
Restituito se la sessione non esiste più perché è andata in timeout o scaduta.  
Codice di stato HTTP: 400

 ** LimitExceededException **   
Restituito se viene superato un limite di risorse, ad esempio il numero di sessioni attive.  
Codice di stato HTTP: 400

 ** OccConflictException **   
Restituito quando una transazione non può essere scritta nel journal a causa di un errore nella fase di verifica dell'*Optimistic Concurrency Control* (OCC).  
Codice di stato HTTP: 400

 ** RateExceededException **   
Restituito quando la frequenza delle richieste supera il throughput consentito.  
Codice di stato HTTP: 400

## Vedi anche
<a name="API_QLDB-Session_SendCommand_SeeAlso"></a>

Per ulteriori informazioni sull'utilizzo di questa API in una delle lingue specifiche, consulta quanto segue AWS SDKs:
+  [Interfaccia a riga di comando AWS](https://docs.aws.amazon.com/goto/aws-cli/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per.NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per Python](https://docs.aws.amazon.com/goto/boto3/qldb-session-2019-07-11/SendCommand) 
+  [AWS SDK per Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/qldb-session-2019-07-11/SendCommand) 