【发布时间】:2015-04-04 07:00:43
【问题描述】:
我正在尝试做的事情: 最终:我想从浏览器扩展(Safari、Chrome)填充 AWS Kinesis 流。 我需要使用签名过程 (v4) 将请求发送到 AWS;这涉及设置标头并加密它们(在远程服务器上使用 aws 密钥)以最终将它们加入到请求中。
亚马逊要求明确定义标头“主机”…… 然而 Javascript 严格禁止设置它(以及其他一些,有充分的理由)
我一定是错过了什么——我该怎么做?
来源: http://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html - 该示例使用 Python,但它显示了他们打算如何在服务器端使用 Host 标头
注意:我目前正在使用 POST;该示例的描述 GET 和查询字符串的 cmets 也提到了“主机”:它必须作为请求中的标头存在
另外:使用类似的设置,我设法将文件从客户端直接上传到 S3 存储桶——自动化过程略有不同(不需要“主机”)。
【问题讨论】:
-
您可能需要查看 AWS 开发工具包 (docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/…),以便更轻松地使用 AWS 服务和 Kinesis。
-
谢谢@Guy 我实际上不能使用 sdk,因为后端在 Parse.com 上运行,所以我不得不从头开始构建。
-
你怎么能设法将文件上传到 s3 而不在标题中提及“主机”?
标签: javascript amazon-web-services http-headers xmlhttprequest amazon-kinesis