问题描述
在AWS的如何使用其DAX Node.js客户端的教程之后,我遇到了以下示例,该示例将数据写入DynamoDB,但完全不使用导入的DAX客户端(const AmazonDaxClient = require('amazon-dax-client')
):
const AmazonDaxClient = require('amazon-dax-client');
var AWS = require("aws-sdk");
var region = "us-west-2";
AWS.config.update({
region: region
});
var ddbClient = new AWS.DynamoDB.DocumentClient()
var tableName = "TryDaxTable";
var someData = "X".repeat(1000);
var pkmax = 10;
var skmax = 10;
for (var ipk = 1; ipk <= pkmax; ipk++) {
for (var isk = 1; isk <= skmax; isk++) {
var params = {
TableName: tableName,Item: {
"pk": ipk,"sk": isk,"someData": someData
}
};
//
//put item
ddbClient.put(params,function(err,data) {
if (err) {
console.error("Unable to write data: ",JSON.stringify(err,null,2));
} else {
console.log("PutItem succeeded");
}
});
}
}
几个问题:
如果使用DAX客户端会怎样?
引发以下错误:
DaxClientError: unsupported type to encode for Binary: undefined
at CborEncoder.encodeBinary (/home/ec2-user/dax_demo/node_modules/amazon-dax-client/src/CborEncoder.js:96:13)
at /home/ec2-user/dax_demo/node_modules/amazon-dax-client/generated-src/Stubs.js:93:26
at processticksAndRejections (internal/process/task_queues.js:97:5)
at async Promise.all (index 1) {
time: 1598020544921,code: undefined,retryable: true,requestId: null,statusCode: -1,_tubeInvalid: false,waitForRecoveryBeforeretrying: false
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)