我使用Amazon S3的loopback-component-storage遇到了障碍。 作为测试,我试图从我的浏览器应用程序上传文件到S3,后者在后端调用我的环回API。
我的datasources.json服务器配置如下:
"s3storage": {
"name": "s3storage",
"connector": "loopback-component-storage",
"provider": "amazon",
"key": “blahblah”,
"keyId": “blahblah”
},
我的API端点是: “/ API /存储”
我从API获得的错误响应如下:
. error: {name: "MissingRequiredParameter", status: 500, message: "Missing required key 'Bucket' in params",…}
. code: "MissingRequiredParameter"
. message: "Missing required key 'Bucket' in params"
. name: "MissingRequiredParameter"
. stack: "MissingRequiredParameter: Missing required key 'Bucket' in params …”
. status: 500
. time: "2015-03-18T01:54:48.267Z"
如何将{“params”:{“Bucket”:“bucket-name”}}参数传递给我的环回REST API?
请指教。非常感谢!
答案 0 :(得分:0)
AFAIK存储桶在loopback-component-storage或pkgcloud世界中称为容器。
您可以在网址参数中指定容器。如果您的目标是/api/Storage
,那么您将在该路径中指定容器,其格式为/api/Storage/container1/upload
,格式为PATH/:DATASOURCE/:CONTAINER/:ACTION
。
在这里查看测试以获取更多示例: https://github.com/strongloop/loopback-component-storage/blob/4e4a8f44be01e4bc1c30019303997e61491141d4/test/upload-download.test.js#L157
答案 1 :(得分:0)
无赖。 "容器"基本上翻译成" bucket"对于S3。我试图通过POST传递params对象但是魔鬼在细节中,即上传的HTTP POST路径正在寻找路径本身中的桶/容器。 / api / Storage / abc / upload意味着' abc'是桶。