我一直在阅读文档,试图弄清楚如何在QLDB中提交事务,为了做到这一点,CommitDigest
需要a,文档将其描述为:
指定要提交的事务的提交摘要。对于每个活动事务,必须传递提交摘要。如果客户端上计算的摘要与QLDB计算的摘要不匹配,则QLDB会验证CommitDigest并拒绝提交,并显示错误。
因此,必须计算CommitDigest,但在此示例中,我不太确定其计算需要什么:
// ** Start Session **
const startSessionResult = await qldbSession.sendCommand({
StartSession: {
LedgerName: ledgerName
}
}).promise(),
sessionToken = startSessionResult.StartSession!.SessionToken!;
// ** Start Transaction **
const startTransactionResult = await qldbSession.sendCommand({
StartTransaction: {},
SessionToken: sessionToken
}).promise(),
transactionId = startTransactionResult.StartTransaction!.TransactionId!;
// ** Insert Document **
const executeStatementResult = await qldbSession.sendCommand({
ExecuteStatement: {
TransactionId: transactionId,
Statement: `INSERT INTO sometable { 'id': 'abc123', 'userId': '123abc' }`
},
SessionToken: sessionToken
}).promise(),
documentId = getDocumentIdFromExecuteStateResult(executeStatementResult)
// ** Get Ledger Digest
const getDigestResult …
Run Code Online (Sandbox Code Playgroud) 我正在使用“aws-sdk:^2.576.0”和“amazon-qldb-driver-nodejs:0.1.0-preview.2”,并遵循node-sdk 的 qldb 示例代码。我通过公开的 REST API 调用 node-sdk 函数。
因此,对于读表操作,即SELECT *
查询(scanTable
来自示例代码),以下是延迟细分:
我正在使用会话池为每笔交易获取一个新会话,pooledQldbDriver.getSession()
并且拥有近 100mbps 的良好互联网连接。
预计会有这么多延迟吗?我做错了什么,如何进一步减少?
如何在 PartiQL 中使用 Limit?我需要的是 Amazon QLDB 表中的最后 3 行,该表使用 PartiQL 语法进行查询。类似 SELECT * FROM Accounts 的内容,其中AddedBy = 'admin@demo.com' LIMIT 3
我想在 QLDB 中创建一个唯一的字段。我尝试使用UNIQUE
,但得到:
unexpected token found, KEYWORD : unique; Unexpected token following CREATE
我注意到 QLDB 不支持LIMIT
或SKIP
查询实现基本分页所需的参数。
将来是否会支持此功能,或者是否有其他方法可以在 QLDB 中实现分页?
有人使用过 Amazon Quantum Ledger Database (QLDB) Amazon ion文件吗?如果是这样,您知道如何提取“数据”部分来制定表格吗?也许使用 python 来抓取数据?\n我试图从存储在 s3 中的这些文件中获取“数据”信息(我无权访问 QLDB,因此无法直接查询),然后将结果上传到 Glue 。
\n我正在尝试使用 GLue 执行 ETL 作业,但 Glue 不喜欢 Amazon Ion 文件,因此我需要从这些文件中查询数据或抓取文件以获取相关信息。
\n谢谢。\n\xc2\xa0\n PS \xc2\xa0:通过“数据”信息我的意思是:
\n{\n PersonId:"4tPW8xtKSGF5b6JyTihI1U",\n LicenseNumber:"LEWISR261LL",\n LicenseType:"Learner",\n ValidFromDate:2016\xe2\x80\x9312\xe2\x80\x9320,\n ValidToDate:2020\xe2\x80\x9311\xe2\x80\x9315\n}\n
Run Code Online (Sandbox Code Playgroud)\n参考\xc2\xa0:https://docs.aws.amazon.com/qldb/latest/developerguide/working.userdata.html
\n我正在尝试通过 API 网关和 Lambda 表达式访问 AWS QLDB,但找不到任何相关文档,谁能告诉我这是否可行?
该计划是针对开放 API 的,因此它与语言无关,但我所能找到的只是在客户端中安装驱动程序的参考,但由于该驱动程序仅在 Java 中真正可用,因此它的限制性很大。我错过了什么还是这是目前唯一的方法?也许有更好的方法吗?
真的很感激在正确的方向上的推动。
我正在尝试使用 Node.js 连接并执行到 Amazon QLDB 的语句。为了实现这一点,我需要完成计算提交摘要的最后一步。我不知道该怎么做。
我在这里彻底研究了 QLDB Sessions javascript API:https ://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/QLDBSession.html但没有关于计算提交摘要的任何内容。我碰巧在这里发现了另一个关于堆栈溢出的问题:How to get/compute CommitDigest when committing an 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 => …
Run Code Online (Sandbox Code Playgroud) 主要亚马逊QLDB页说:
QLDB也是无服务器的,因此它会自动扩展以支持您的应用程序的需求。
但是,即使像DynamoDB这样的产品(具有几乎不受限制的自动缩放)也有一些缩放限制。(例如,DynamoDB每个分区密钥最多具有3k RCU。)
我试图找出QLDB的扩展/性能限制。每个键,表,分类帐或帐户是否有最大TPS或最大吞吐量?每个表,分类帐或帐户是否有最大存储大小?
截至2019年10月,``QLDB 配额和限制''页面上没有提及任何扩展限制。
QLDB 常见问题页面说,
与普通区块链框架中的分类账相比,Amazon QLDB可以执行的交易量是分类账的2至3倍。
这只是一个开始,但并不是很有用,因为“ 2-3X”的范围相对较大,而且他们还没有指定他们认为通用的区块链框架。
是否有任何限制(在文档中,AWS博客文章中,深潜会话等中)找到任何有关此的信息?
我想在 laravel v7 中使用 aws sdk 来使用 AWS QLDB 客户端 我已遵循此处编写的所有过程。我收到这个错误
Aws\Laravel\AwsServiceProvider::class 未找到
Amazon Managed Blockchain
和之间的主要区别是Amazon QLDB
什么?在哪种情况下,建议distributed ledgers
何时使用哪种服务?在没有方面,两种服务之间的性能如何变化transactions per second
?
有谁知道任何 CloudFormation 可以通过 Terraform 在 QLDB 创建表(不是分类帐)?
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html
amazon-qldb ×12
node.js ×3
partiql ×3
aws-sdk ×2
blockchain ×2
amazon-ion ×1
amazon-s3 ×1
aws-lambda ×1
aws-php-sdk ×1
laravel ×1
latency ×1
python ×1
sql ×1
terraform ×1