这个问题的原因是因为 AWS SDK V3 Nodejs 版本在执行 TimestreamWriteClient.send() 方法时出错。为了解决这个问题,你可以在使用 send() 方法时通过调用 resolveMiddleware 函数来避免这个错误。以下是一个示例代码:
const { TimestreamWriteClient, WriteRecordsCommand } = require("@aws-sdk/client-timestream-write");
const client = new TimestreamWriteClient({ region: "us-east-1" });
const params = {
DatabaseName: "mydb",
TableName: "mytable",
Records: [
{
Dimensions: [
{
Name: "region",
Value: "us-east-1"
}
],
MeasureName: "my-measure",
MeasureValue: "100",
Time: "2022-01-01T00:00:00.000Z"
}
],
};
const command = new WriteRecordsCommand(params);
const middleware = (next) => async (args) => {
if (typeof command.resolveMiddleware === 'function') {
await command.resolveMiddleware(client.config.middleware).call(command, args);
}
return next(args);
};
client.middlewareStack.add(middleware, {
step: "build",
name: "resolveMiddleware",
priority: "low",
});
try {
const response = await client.send(command);
console.log(response);
} catch (error) {
console.error(error);
}
这个示例展示了如何通过调用 resolveMiddleware 来避免这个错误,并在 AWS Timestream 上插入一个示例数据记录。你可以根据自己的需要修改参数以及其他细节。
上一篇:AWS提供者terraform apply provider.aws.region可以翻译为“应用AWS提供者,使用provider.aws.region”。
下一篇:AWSTimestream-Write出现'调用DescribeEndpoints操作时发生错误(AccessDeniedException):不允许执行此操作。”