SendCommand - Banco de dados Amazon Quantum Ledger (AmazonQLDB)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

SendCommand

Envia um comando para um ledger do Amazon QLDB.

nota

Em vez de interagir diretamente com essa API, recomendamos usar o driver QLDB ou o shell QLDB para executar transações de dados em um ledger.

  • Se você estiver trabalhando com um AWS SDK, use o driver QLDB. O driver fornece uma camada de abstração de alto nível acima dessa API de dados do QLDB Session e gerencia a operação SendCommand para você. Para obter informações e uma lista das linguagens de programação suportadas, consulte Conceitos básicos do driver no Guia do usuário Amazon QLDB.

  • Se você estiver trabalhando com o AWS Command Line Interface (AWS CLI), use o shell QLDB. O shell é uma interface de linha de comando que usa o driver QLDB para interagir com um ledger. Para obter informações, consulte Acessando o Amazon QLDB usando o shell QLDB.

Sintaxe da Solicitação

{ "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": { } }

Parâmetros da solicitação

Para obter informações sobre os parâmetros que são comuns em todas as ações, consulte Parâmetros comuns.

A solicitação aceita os dados a seguir no formato JSON.

AbortTransaction

Comando para abortar a transação atual.

Tipo: objeto AbortTransactionRequest

Obrigatório: Não

CommitTransaction

Comando para confirmar a transação especificada.

Tipo: objeto CommitTransactionRequest

Obrigatório: Não

EndSession

Comando para encerrar a sessão atual.

Tipo: objeto EndSessionRequest

Obrigatório: Não

ExecuteStatement

Comando para executar uma instrução na transação especificada.

Tipo: objeto ExecuteStatementRequest

Obrigatório: Não

FetchPage

Comando para buscar uma página.

Tipo: objeto FetchPageRequest

Obrigatório: Não

SessionToken

Especifica o token da sessão para o comando atual. Um token de sessão é constante durante toda a duração da sessão.

Para obter um token de sessão, execute o comando StartSession. Esse SessionToken é necessário para cada comando subsequente emitido durante a sessão atual.

Tipo: sequência

Restrições de tamanho: tamanho mínimo de 4. Tamanho máximo de 1.024.

Padrão: ^[A-Za-z-0-9+/=]+$

Obrigatório: não

StartSession

Comando para iniciar uma nova sessão. Um token de sessão é obtido como parte da resposta.

Tipo: objeto StartSessionRequest

Obrigatório: Não

StartTransaction

Comando para iniciar uma nova transação.

Tipo: objeto StartTransactionRequest

Obrigatório: Não

Sintaxe da Resposta

{ "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" } }

Elementos de Resposta

Se a ação for bem-sucedida, o serviço retornará uma resposta HTTP 200.

Os dados a seguir são retornados no formato JSON pelo serviço.

AbortTransaction

Contém os detalhes da transação cancelada.

Tipo: objeto AbortTransactionResult

CommitTransaction

Contém os detalhes da transação confirmada.

Tipo: objeto CommitTransactionResult

EndSession

Contém os detalhes da sessão encerrada.

Tipo: objeto EndSessionResult

ExecuteStatement

Contém os detalhes da instrução executada.

Tipo: objeto ExecuteStatementResult

FetchPage

Contém os detalhes da página buscada.

Tipo: objeto FetchPageResult

StartSession

Contém os detalhes da sessão iniciada que inclui um token de sessão. Esse SessionToken é necessário para cada comando subsequente emitido durante a sessão atual.

Tipo: objeto StartSessionResult

StartTransaction

Contém os detalhes da transação iniciada.

Tipo: objeto StartTransactionResult

Erros

Para obter informações sobre os erros comuns a todas as ações, consulte Erros comuns.

BadRequestException

Retornado se a solicitação estiver malformada ou contiver um erro, como um valor de parâmetro inválido ou um parâmetro obrigatório ausente.

Código de Status HTTP: 400

CapacityExceededException

Retornado quando a solicitação excede a capacidade de processamento do ledger.

Código de Status HTTP: 400

InvalidSessionException

Retornado se a sessão não existir mais porque ultrapassou o limite de tempo ou expirou.

Código de Status HTTP: 400

LimitExceededException

Retornado se um limite de recursos, como o número de sessões ativas, for excedido.

Código de Status HTTP: 400

OccConflictException

Retornado quando uma transação não pode ser gravada no diário devido a uma falha na fase de verificação do controle otimista de simultaneidade (OCC).

Código de Status HTTP: 400

RateExceededException

Retornado quando a taxa de solicitações excede o throughput permitido.

Código de Status HTTP: 400

Consulte também

Para obter mais informações sobre como usar essa API em um dos AWS SDKs específicos da linguagem, consulte o seguinte: