如何使用RESTful API获取Amazon DynamoDB数据?
有没有办法使用REST网址获取Amazon DynamoDB数据?如果是这样,传递网址所需的参数是什么?
我们已将DynamoDB端点视为网址并将其附加到accesskey
和secretaccesskey
,是否需要附加到网址?
如果有人尝试使用DynamoDB RESTful API,您能举例说明如何获取表格数据吗?
示例网址也很好,显示了如何通过RESTful API连接到DynamoDB。
理想情况下,需要所有参数的示例网址。
答案 0 :(得分:10)
AWS文档包含一个示例:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/MakingHTTPRequests.html
答案 1 :(得分:0)
这不是Dynamo的工作方式,您必须构建自己的RESTful API(即使用适用于PHP的AWS开发工具包),然后将数据重新格式化为您想要的数据然后返回它。很容易做到: - )
答案 2 :(得分:0)
您可以使用指向Lambda函数的API网关从DynamoDB获取数据。您的API网关URL的终点将是您的休息终点。
答案 3 :(得分:0)
以下是通过 AWS API 对 DynamoDB 表执行 GetItem
操作的最小 JavaScript 示例:
const DYNAMODB_ENDPOINT = 'https://dynamodb.us-east-1.amazonaws.com';
let aws = new AwsClient({ accessKeyId: AWS_ACCESS_KEY, secretAccessKey: AWS_SECRET_KEY });
async function dynamoDbOp(op, opBody) {
let result = await aws.fetch(DYNAMODB_ENDPOINT, {
method: 'POST',
headers: {
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'DynamoDB_20120810.' + op
},
body: JSON.stringify(opBody)
});
return result.json();
}
let dbResponse = await dynamoDbOp('GetItem', {
TableName: "someTableName",
Key: {
someTableKey: {
S: "someKeyValue"
}
}
});
console.log(dbResponse.json());
请注意,AwsClient
是由 aws4fetch 定义的类,它负责为您签署 AWS 请求。有关详细信息,请参阅 AWS GetItem API doc。