我正在尝试使用pre-signed post from heroku从我的iOS应用直接上传到S3。 Heroku的下面返回到我的快捷应用程序:heroku S3预先签署的帖子和S3请求签名
{'url': u'https://bucketname.s3.amazonaws.com/filename', 'data': {'url': u'https://bucketname.s3.amazonaws.com/', 'fields': {'Content-Type': 'm4a', 'key': u'filename', 'AWSAccessKeyId': u'XXXXXXXXXXXX', 'acl': 'public-read', 'policy': u'wtLepKMeghI3rt1UeikLoQcNTYtMDktMTBUMTc6NDE6MTJaIiwgImNvbmRpdGlvbnMiOiBbeyJhY2wiOiAicHVibGljLXJlYWQifSwgeyJDb250ZW50LVR5cGUiOiAibTRhIn0sIHsiYnVja2V0IjogImZ1eZEaJKYzeDgZwz3lOPtys5B0MigIwImv2OpQm3ylP==', 'signature': u'qr647bMEA9M8LeBVqkJLcvEIO4g='}}}
正如你可以看到,有一个签名是:qr647bMEA9M8LeBVqkJLcvEIO4g=
和政策
wtLepKMeghI3rt1UeikLoQcNTYtMDktMTBUMTc6NDE6MTJaIiwgImNvbmRpdGlvbnMiOiBbeyJhY2wiOiAicHVibGljLXJlYWQifSwgeyJDb250ZW50LVR5cGUiOiAibTRhIn0sIHsiYnVja2V0IjogImZ1eZEaJKYzeDgZwz3lOPtys5B0MigIwImv2OpQm3ylP==
在AWS documentation,它们使用的签名示例(下面)比Heroku返回的签名具有更多字符
Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7
是由比亚马逊要求签署一份要求不同的Heroku提供的签名?我是否会使用Heroku返回的签名?
我想第一次向S3做一个签名的请求,我无法建立连接,所以我决定查看文档,看看我是否做错了什么。我目前正在得到一个HTTP错误代码400.不知道我是否以正确的格式提供了所需的值。 – Brosef
400可以表示任何东西。答案应该有更多的信息,说明它为什么要返回400。 – helloV