【发布时间】:2018-05-08 15:18:02
【问题描述】:
如何使用 aws-amplify 库在 s3 中读取文本文件? 我能够获取预签名的 URL,但在访问 url 时出现错误,
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>
private/xx-xxxx-4:42134231243423142131423/filename.json
</Key>
<RequestId>1242341243</RequestId>
<HostId>
uudawfeawefhszec/6kM8VawefawefawfawefawefgwegweawgeagweyRk=
</HostId>
</Error>
文档中有关于如何获取 url 的说明:
Storage.get('test.txt', {level: 'private'})
.then(result => console.log(result))
.catch(err => console.log(err));
结果是路径的 url,而不是文本。 当我运行 http get 方法时,端点不存在。
获取数据的最佳做法是什么?我正在使用反应。
如果有像 Storage.getText(...) 这样的方法,那将是最好的情况。
我已经尝试使用这个添加授权...
Auth.currentCredentials()
.then(credentials => {
axios.get(result, { headers: { 'Authorization': JSON.stringify(Auth.essentialCredentials(credentials)) } })
.then(r => {
console.log(r);
})
});
400 错误请求 :(
【问题讨论】:
-
The specified key does not exist是404 Not Found错误。签名的 URL 有效,但桶中没有该对象。
标签: reactjs amazon-s3 aws-amplify