SendCommand - Amazon Quantum Ledger Database (Amazon QLDB)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SendCommand

向 Amazon QLDB 分类账发送命令。

注意

我们建议使用 QLDB 驱动程序或 QLDB Shell 在分类账上运行数据事务,而不是直接与此 API 交互。

  • 如果您使用的是 AWS 软件开发工具包,请使用 QLDB 驱动程序。该驱动程序在 QLDB 会话数据 API 之上提供了一个高级抽象层,并为您管理SendCommand操作。有关信息和支持的编程语言列表,请参阅 Amazon QLDB 开发者指南中的驱动程序入门

  • 如果您正在使用 AWS Command Line Interface (AWS CLI),请使用 QLDB 外壳。Shell 是一个命令行接口,它使用 QLDB 驱动程序与分类账进行交互。有关信息,请参阅使用 QLDB Shell 访问 Amazon QLDB

请求语法

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

请求参数

有关所有操作的通用参数的信息,请参阅通用参数

请求接受采用 JSON 格式的以下数据。

AbortTransaction

命令中止当前事务。

类型:AbortTransactionRequest 对象

必需:否

CommitTransaction

命令提交指定的事务。

类型:CommitTransactionRequest 对象

必需:否

EndSession

命令结束当前会话。

类型:EndSessionRequest 对象

必需:否

ExecuteStatement

命令在指定事务中执行语句。

类型:ExecuteStatementRequest 对象

必需:否

FetchPage

命令获取页面。

类型:FetchPageRequest 对象

必需:否

SessionToken

指定当前命令的会话令牌。会话令牌在会话的整个生命周期中都是恒定的。

要获取会话令牌,请运行 StartSession 命令。这个 SessionToken 对于当前会话期间发出的每个后续命令都是必需的。

类型:字符串

长度限制:最小长度为 4。长度上限为 1024。

模式:^[A-Za-z-0-9+/=]+$

必需:否

StartSession

命令启动新会话。作为响应的一部分获得会话令牌。

类型:StartSessionRequest 对象

必需:否

StartTransaction

命令启动新事务。

类型:StartTransactionRequest 对象

必需:否

响应语法

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

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

AbortTransaction

包含已中止事务的详细信息。

类型:AbortTransactionResult 对象

CommitTransaction

包含已提交事务的详细信息。

类型:CommitTransactionResult 对象

EndSession

包含已结束会话的详细信息。

类型:EndSessionResult 对象

ExecuteStatement

包含已执行语句的详细信息。

类型:ExecuteStatementResult 对象

FetchPage

包含获取的页面的详细信息。

类型:FetchPageResult 对象

StartSession

包含已启动会话的详细信息,其中包括会话令牌。这个 SessionToken 对于当前会话期间发出的每个后续命令都是必需的。

类型:StartSessionResult 对象

StartTransaction

包含已启动事务的详细信息。

类型:StartTransactionResult 对象

错误

有关所有操作的常见错误信息,请参阅常见错误

BadRequestException

如果请求格式错误或包含错误(例如参数值无效或缺少必填参数),则返回。

HTTP 状态代码:400

CapacityExceededException

当请求超出分类账的处理能力时返回。

HTTP 状态代码:400

InvalidSessionException

如果会话因超时或过期而不再存在,则返回。

HTTP 状态代码:400

LimitExceededException

如果超过资源限制(例如活动会话数),则返回。

HTTP 状态代码:400

OccConflictException

OccConflictException – 当由于乐观并发控制(OCC)的验证阶段失败而导致事务无法写入日记账时返回。

HTTP 状态代码:400

RateExceededException

请求速率超出允许吞吐量时返回。

HTTP 状态代码:400

另请参阅

有关在特定语言的 AWS SDK 中使用此 API 的更多信息,请参阅以下内容: