gpt4 book ai didi

node.js - 查找 Amazon QLDB 的提交摘要

转载 作者:行者123 更新时间:2023-12-02 12:19:13 25 4
gpt4 key购买 nike

我正在尝试使用 Node.js 连接并执行 Amazon QLDB 的语句。为了实现这一目标,我需要完成最后一步,即计算提交摘要。我不知道该怎么做。

我在这里彻底研究了 QLDB session javascript API:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/QLDBSession.html但没有任何关于计算提交摘要的信息。我碰巧在这里发现了另一个关于堆栈溢出的问题:How to get/compute CommitDigest when committing a transaction in AWS QLDB? 。我尝试理解这些注释并摆弄 ion-hash-js 库,看看是否可以创建提交摘要,但每次运行代码时我总是遇到错误。 OP 没有提供任何关于什么有效/无效的反馈,所以我被困在这里。

const AWS = require('aws-sdk');

const qldb = new AWS.QLDB({apiVersion: '2019-01-02', region: 'us-east-1'});
var qldbSession = new AWS.QLDBSession({apiVersion: '2019-07-11', region: 'us-east-1'});


const ionHashJS = require("ion-hash-js/dist/commonjs/es5/src/IonHash");
const ionJs = require('ion-js')


async function execute(){

let sessionToken;
let transactionId;
let digest;


// ** Start Session **
await qldbSession.sendCommand({
StartSession: {
LedgerName: 'Vehicle-Registration'
}
}).promise().then(data => {
sessionToken = data.StartSession.SessionToken
})

// ** Start Transaction **
await qldbSession.sendCommand({
StartTransaction: {},
SessionToken: sessionToken
}).promise().then(data => {
transactionId = data.StartTransaction.TransactionId
})

// ** Insert Document **
await qldbSession.sendCommand({
ExecuteStatement: {
TransactionId: transactionId,
Statement: `CREATE TABLE Vehicle`
},
SessionToken: sessionToken
}).promise().then(data => {
console.log(data)
})

// ** Get Ledger Digest **
await qldb.getDigest({
Name: 'Vehicle-Registration'
}).promise().then(data => {
digest = data.Digest

}).catch(err => console.log(err))




// ** Commit Transaction **
await qldbSession.sendCommand({
CommitTransaction: {
TransactionId: transactionId,
CommitDigest: digest // <-- How to compute?
},
SessionToken: sessionToken}).promise().then(data => {console.log(data)}).catch(err => console.log(err))

}

execute();

我不断收到“摘要不匹配”错误

最佳答案

感谢您对 Am​​azon QLDB 的兴趣。

NodeJS 的 QLDB 驱动程序现已在 GitHub 上提供预览版。您可以在这里查看详细信息 https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started.nodejs.html .

驱动程序处理提交哈希的计算。我们会向您推荐PooledQldbDriver提供 session 池功能和以透明方式处理 OCC 重试的便捷方法的实现。有关如何将 PooledQldbDriver 添加为依赖项的详细信息,请参阅GitHub README.md。 .

我们期待您的反馈。

谢谢,席德

关于node.js - 查找 Amazon QLDB 的提交摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58246443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com