在S3的loopback-component-storage中指定bucket-name

时间:2015-03-18 02:25:40

标签: loopbackjs strongloop

我使用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?

请指教。非常感谢!

2 个答案:

答案 0 :(得分:0)

AFAIK存储桶在loopback-component-storagepkgcloud世界中称为容器。

您可以在网址参数中指定容器。如果您的目标是/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'是桶。