Amazon web services 如何使用查询参数使用DynamoDB Rest API?
阅读并遵循上的所有说明后,我成功地创建了JavaScript API,该API使用REST API连接到DynamoDB 当浏览器允许设置自定义标题时,它可以正常工作,但是对于不支持此功能的旧浏览器(如IE 6)又如何呢 我已成功地将所有身份验证信息编码到请求的url中,但我似乎缺少Amazon web services 如何使用查询参数使用DynamoDB Rest API?,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,阅读并遵循上的所有说明后,我成功地创建了JavaScript API,该API使用REST API连接到DynamoDB 当浏览器允许设置自定义标题时,它可以正常工作,但是对于不支持此功能的旧浏览器(如IE 6)又如何呢 我已成功地将所有身份验证信息编码到请求的url中,但我似乎缺少X-Amz-Target头的替代项 以下是一个示例URL: https://dynamodb.us-east-1.amazonaws.com/ ?X-Amz-Target=DynamoDB_20120810.Scan
X-Amz-Target
头的替代项
以下是一个示例URL:
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?我的第一个答案是正确的。我曾经“读”过它,因为我的应用程序正在使用它,但是忘记了那一点!我删除了答案,因为它显然是错的。您是否按照中所述对规范请求的值进行URI编码?@craigts是的,我正在使用Ok,那么我唯一能想到的是,您需要将其他x-amz-*头添加到签名头中。说它是必需的,但其他一些例子没有说明这一点。我的第一个答案你是对的。我曾经“读”过它,因为我的应用程序正在使用它,但是忘记了那一点!我删除了答案,因为它显然是错的。您是否按照中所述对规范请求的值进行URI编码?@craigts是的,我正在使用Ok,那么我唯一能想到的是,您需要将其他x-amz-*头添加到签名头中。表示它是必需的,但其他一些示例没有显示这一点。