SendCommand - Amazon Quantum Ledger Database (Amazon QLDB)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SendCommand

將命令傳送至 Amazon QLDB 分類帳。

注意

建議您不要直接與此 API 互動,而是使用 QLDB 驅動程式或 QLDB 命令介面在分類帳上執行資料交易。

  • 如果您使用的是 AWS SDK,請使用 QLDB 驅動程式。驅動程式在此 QLDB 工作階段資料 API 上方提供了一個高層級的抽象層,並為您管理SendCommand作業。如需相關資訊和支援的程式設計語言清單,請參閱 Amazon QLDB 開發人員指南中的開始使用驅動程式。

  • 如果您正在使用 AWS Command Line Interface (AWS CLI),請使用 QLDB 外殼。殼層是使用 QLDB 驅動程式與總帳互動的命令列介面。如需相關資訊,請參閱使用 QLDB 殼層存取 Amazon QL DB。

請求語法

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

請求參數

如需所有動作的一般參數資訊,請參閱《Common Parameters》。

請求接受採用 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

當交易因樂觀並行控制 (OCC) 的驗證階段失敗而無法寫入日誌時傳回。

HTTP 狀態碼:400

RateExceededException

當要求的速率超過允許的輸送量時傳回。

HTTP 狀態碼:400

另請參閱

如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: