【问题标题】:How to get pre-signed url with AWS.ManagedUpload如何使用 AWS.ManagedUpload 获取预签名的 url
【发布时间】:2019-05-11 10:24:06
【问题描述】:

我正在使用 AWS.S3.ManagedUpload 将文件上传到 AWS S3。一切都很简单,直到我想获得上传文件的预签名 URL。

我正在创建 AWS.S3.ManagedUpload,并触发发送方法。

   const params = {
        Bucket: process.env.S3_BUCKET_NAME,
        Key: fileKey,
        Body: fileStream,
      }

     const upload = new AWS.S3.ManagedUpload({ params })

      upload.send((err, data) => {
        if (err) {
          console.log(err)
        }
        // handle successful upload
      })
    }

因此,我收到了带有非签名 url 的对象。因此,只有当我想要避免的存储桶是公共的时才能访问它。

【问题讨论】:

  • 抱歉跑题了,但是如何将凭据发送到 ManagedUpload ?我正在尝试使用它,但找不到任何工作示例。

标签: node.js amazon-s3 aws-sdk


【解决方案1】:

我找到了简单的解决方案。上传完成后,您需要使用 AWS.S3.getSignedUrl。

upload.send((err, data) => {
  if (err) {
    // handle error 
  }
  const signedUrl = s3.getSignedUrl('getObject', params) 
  ...

params 是{ Bucket, Key, Expires }

【讨论】:

    猜你喜欢
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2018-06-05
    • 2012-02-22
    • 2021-09-23
    • 1970-01-01
    相关资源
    最近更新 更多