如何使用查询参数使用DynamoDB Rest API?

时间:2015-12-16 18:32:57

标签: amazon-web-services amazon-dynamodb

阅读并遵循Signing AWS Requests with Signature Version 4上的所有说明后,我设法创建了使用REST API连接DynamoDB的JavaScript API。

当浏览器允许设置自定义标题时,它可以正常工作,但是不支持此功能的旧浏览器(如IE 6)呢?

我已成功将所有身份验证信息编码在请求的网址中,但我似乎错过了X-Amz-Target标头的替代。

以下是一个示例网址:

https://dynamodb.us-east-1.amazonaws.com/
?X-Amz-Target=DynamoDB_20120810.Scan
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=xxxxxxxxx%2F20151216%2Fus-east-1%2Fdynamodb%2Faws4_request
&X-Amz-Date=20151216T182124Z
&X-Amz-SignedHeaders=host%3Bx-amz-date
&X-Amz-Signature=xxxxxxxxxxxxxx

正如您所看到的,我添加了查询参数X-Amz-Target,希望它会替换X-Amz-Target标头,但它似乎无法正常工作。

我收到以下回复:

{
    "__type":"com.amazon.coral.service#UnknownOperationException"
}

这表明X-Amz-Target显然没有被阅读。

现在,这并不能保证我甚至无法正确发送我的身份验证信息,因为只有在其他一切都很好的情况下,AWS才会总是抱怨授权。 (虽然使用标题时同样的算法也有效,所以我想不出它为什么会失败)

说实话,我的问题是:如何通过查询参数而不是通过自定义标头使用DynamoDB Rest API?

0 个答案:

没有答案