代码之家  ›  专栏  ›  技术社区  ›  Dora

访问Bucket虚拟托管样式url(s3)

  •  0
  • Dora  · 技术社区  · 5 年前

    不确定这是否是发布此问题的最佳位置,如果不是,请重定向我,然后我将删除此帖子并将其发布到正确的位置。

    amazon s3 在访问文件时更改了其url。 以前是这样的 http://s3.amazonaws.com/<bucket> http://s3.<region>.amazonaws.com/<bucket>

    但是有一些变化 http://<bucket>.s3-<aws-region>.amazonaws.com http://<bucket>.s3.amazonaws.com ,由于此文档 https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro 在2019年3月20日之后无法联系到,但当我使用 aws-sdk 在里面 javascript skipper-better-s3 我从aws得到的url是 http://<bucket>.s3.amazonaws.com/<Key>

    如果该url不可访问,为什么aws会返回这样的url?(我仍然可以使用url访问该文件)

    如果在不久的将来无法访问该url,我是否应该添加 region

    或者我的代码有问题? 下面是我上传的代码

            const awsOptions = {  // these fields are different because this uses skipper
                adapter: require('skipper-better-s3'),
                key: aws_access_key,
                secret: aws_secret_key,
                saveAs: PATH,
                bucket: BUCKET,
                s3params: {
                    ACL: 'public-read'
                },
            }
    
    
            const fieldName = req._fileparser.upstreams[0].fieldName;
            req.file(fieldName).upload(awsOptions, (err, filesUploaded) => {
                if (err) reject(err);
                const filesUploadedF = filesUploaded[0]; // F = first file
                const url = filesUploadedF.extra.Location; // image url -> https://<bucket>.s3.amazonaws.com/<Key>
                console.log(url, 'urlurlurl');
            });
    

    filesUploadedF

    UploadedFileMetadata {
      fd: '<Key>',
      size: 4337,
      type: 'image/png',
      filename: 'filename.png',
      status: 'bufferingOrWriting',
      field: 'image',
      extra: 
       { ETag: '111111111111111111111',
         Location: 'https://<bucket>.s3.amazonaws.com/<Key>',
         key: '<key>',
         Key: '<Key>',
         Bucket: '<Bucket>',
         md5: '32890jf32890jf0892j3f',
         fd: '<Key>',
         ContentType: 'image/png' }
    }
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Anon Coward    5 年前

    这个 documentation you linked to 对于 http://<bucket>.s3.amazonaws.com

    注意

    无法通过 https://bucket.s3.amazonaws.com 命名方案。

    区域 2019年3月20日后上线。