访问存储桶虚拟托管样式的网址已弃用? (aws s3)

时间:2019-09-25 22:22:10

标签: javascript amazon-web-services url amazon-s3 file-upload

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

我知道最近amazon s3在访问文件时更改了其URL。 它曾经像http://s3.amazonaws.com/<bucket>http://s3.<region>.amazonaws.com/<bucket>

但是由于本文档https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-introhttp://<bucket>.s3-<aws-region>.amazonaws.comhttp://<bucket>.s3.amazonaws.com有所变化 http://<bucket>.s3.amazonaws.com将在2019年3月20日之后无法访问,但是当我在aws-sdk中使用javascript进行文件上传时,我从aws返回的网址是{ {1}}

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

如果该URL不可能在不久的将来访问,我是否应该自己添加skipper-better-s3还是自己修改该URL,而不是使用AWS返回的URL?

还是我的代码可能有问题? 下面是我上传的代码

http://<bucket>.s3.amazonaws.com/<Key>

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');
        });

1 个答案:

答案 0 :(得分:1)

http://<bucket>.s3.amazonaws.com样式命名的documentation you linked to表示:

  

注意

     

无法通过https://bucket.s3.amazonaws.com命名方案访问在2019年3月20日之后发布的区域中创建的存储桶。

那里的措辞很重要。他们只是在谈论2019年3月20日之后上线的新地区

到目前为止,只有在中东(巴林)和亚太地区(香港)地区创建的存储桶。