3

which are the required headers we need to send in the header using dynamodb rest api

'x-amz-date': 'Mon, 16 Jan 2012 17:50:52 GMT',
'x-amzn-authorization': 'AWS3 AWSAccessKeyId=TemporaryAccessKeyID,Algorithm=HmacSHA256,SignedHeaders=Host;x-amz-date;x-amz-target;x-amz-security-token,Signature=*Signature Value*=',
'Date': 'Mon, 31 Oct 2011 17:49:52 GMT',
'x-amz-target': 'DynamoDB_20111205.GetItem',
'x-amz-security-token': '*Token Value*',
'Content-Type': 'application/x-amz-json-1.0',
'Content-Length': '135',
'Connection': 'Keep-Alive',
'User-Agent': 'aws-sdk-java/1.2.10 Windows_7/6.1 Java_HotSpot(TM)_64-Bit_Server_VM/20.2-b06',
}

can i know what are all the required parameters we need to pass through http rest api for dynamo ... I need to fetch the data from dynamodb database??? can anyone suggest what are required headers link

4

1 回答 1

2

问这个问题还不到一年,所以我希望现在回答还为时不晚。:-)

找出需要哪个 HTTP 标头字段的最佳方法之一是使用 AWS 开发工具包。AWS 推荐这种方法。(根据@AWS 人的论坛帖子)您可以:

  1. 为 AWS 的包(例如 com.amazonaws)和可选的 Apache HTTP 客户端(例如 org.apache.http)启用 DEBUG 日志以查看。一种直接配置 log4j 的方法。就个人而言,我使用 slf4j-over-jcl 然后配置 logback.xml
  2. 写一个请求DynamoDB的简单程序,确保结果正确,查看日志

例如,在 ListTables 请求中,使用了以下 Headers:

  • 内容长度
  • 内容类型
  • 主持人
  • 用户代理
  • X-Amz-日期
  • X-Amz-目标

请注意,HTTP 标头应大写。日志还显示转换为小写的签名。“Content-Length”和“User-Agent”是可选的,其他字段是必需的。如果您不喜欢“x-amz-json-1.0”,“Content-Type”可以是“application/json”。

在我看来,实现我们自己的 REST 客户端有两个棘手的部分,一个是正确的签名,另一个是正确的标题。对于签名部分,AWS 提供了一个测试套件,允许我们验证我们的签名实施。

于 2013-06-21T16:29:55.450 回答