【问题标题】:specifying bucket-name in loopback-component-storage for S3在 S3 的 loopback-component-storage 中指定存储桶名称
【发布时间】:2015-05-20 17:02:56
【问题描述】:

我在 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?

请指教。非常感谢!

【问题讨论】:

  • 无赖。 “容器”基本上翻译为 S3 的“桶”。我试图通过 POST 传递 params 对象,但魔鬼在细节中,即用于上传的 HTTP POST 路径正在寻找路径本身中的存储桶/容器。 /api/Storage/abc/upload 表示“abc”是存储桶。

标签: loopbackjs strongloop


【解决方案1】:

无赖。 “容器”基本上翻译为 S3 的“桶”。我试图通过 POST 传递 params 对象,但魔鬼在细节中,即用于上传的 HTTP POST 路径正在寻找路径本身中的存储桶/容器。 /api/Storage/abc/upload 表示“abc”是存储桶。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 这绝对促使我朝着正确的方向思考。感谢帮助!我在上面的帖子中添加了评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 2018-06-18
    • 2021-04-04
    • 2020-07-16
    相关资源
    最近更新 更多