2016-09-16 68 views
0

在我开始使用webpack之前,我能够使用aws-sdk从aws S3存储桶中读取数据。切换到webpack建立类似的功能,作为一个Web应用程序,我不得不使用这个解决方案来得到的东西工作:http://andrewhfarmer.com/aws-sdk-with-webpack/node.js和aws-sdk:Error'Can not read'Stream'of undefined(...)'

我已经尽可能能够创建我的AWS对象,但我似乎无法实例化一个readstream。当Web应用程序出现(并出错)时,我在调试控制台上尝试了这些:

> foo = new AWS.S3(); 
    f…s.constructor {config: Config, isGlobalEndpoint: false, endpoint: Endpoint, _clientId: 2} 
    > bar = foo.getObject({Bucket: "mybucketname", Key: "some/resourcenamehere.json"}); 
    Request {domain: undefined, service: f…s.constructor, operation: "getObject", params: Object, httpRequest: HttpRequest…} 

到目前为止这么好。但随后:

> mystream = bar.createReadStream(); 
    aws-sdk.js?085a:86247 Uncaught TypeError: Cannot read property 'Stream' of undefined(…) 

我的JS /节点/的WebPack技能不是很大,真的只是读书和黑客,因为我去,所以我不知道下一个尝试的东西。请求对象或任何确实有一个createReadStream方法在其原型所以我很困惑。

+0

只是为了阐明:在端点,凭证等方面没有任何变化用于使用vanilla节点,现在不适用于Web应用程序。 – rstruck

回答

0

请按照此https://aws.amazon.com/developers/getting-started/browser/并确保设置示例包括CORS。然后,将工作示例修改为您的应用程序。

+0

嗯...该网址不为我加载...编辑:作为当我请求为http://第一,然后它重定向到https://网好。奇怪的。好的,看看并按照建议做;希望很快回报... – rstruck

+0

我的第一个问题:“需要在Amazon S3存储桶上配置CORS,以便直接从浏览器中的JavaScript访问。”我不认为我对这个桶有这种控制;企业。但也许它已经实施。我会问.. – rstruck

相关问题