dan*_*hal 7 amazon-s3 amazon-web-services
我可以获取 AWS S3 网站端点 URL(如表中所示http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html中所示)吗?我似乎可以\xe2\x80\x99t找到它。
\n\n以编程方式创建存储桶并放置存储桶网站设置后我需要它:\n http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketWebsite-property
\n存储桶的模式是${bucket}.s3-website-<region>.amazonaws.com(这是更通用的形式,适用于所有区域,请参阅http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region,而该形式${bucket}.s3-website.<region>.amazonaws.com不是适用于所有地区)
如果您想查找您的存储桶的区域名称,可以使用以下命令
aws s3api get-bucket-location --bucket <your-bucket>
Run Code Online (Sandbox Code Playgroud)
你会得到
{
"LocationConstraint": null
}
Run Code Online (Sandbox Code Playgroud)
这意味着您的存储桶已在us-east-1
任何其他区域中创建或为任何其他区域创建,您将正确获得区域名称
{
"LocationConstraint": "eu-central-1"
}
Run Code Online (Sandbox Code Playgroud)
作为补充,如果您确实想要构建可用终端节点列表,AWS SDK(s3或s3api)不提供此列表(截至今天)
使用 CLI 可以获得的最接近的结果是从 ec2 区域获取列表。它将假设当有一个部署 ec2 的新区域时,也会部署 s3 (我不能保证有一天不会出现这种情况,但目前这是一个公平的假设,即如果有一个新区域 ec2 和 s3 是至少AWS将部署服务)
所以你可以运行
$ aws ec2 describe-regions
{
"Regions": [
{
"Endpoint": "ec2.ap-south-1.amazonaws.com",
"RegionName": "ap-south-1"
},
{
"Endpoint": "ec2.eu-west-1.amazonaws.com",
"RegionName": "eu-west-1"
},
{
"Endpoint": "ec2.ap-southeast-1.amazonaws.com",
"RegionName": "ap-southeast-1"
},
{
"Endpoint": "ec2.ap-southeast-2.amazonaws.com",
"RegionName": "ap-southeast-2"
},
{
"Endpoint": "ec2.eu-central-1.amazonaws.com",
"RegionName": "eu-central-1"
},
{
"Endpoint": "ec2.ap-northeast-2.amazonaws.com",
"RegionName": "ap-northeast-2"
},
{
"Endpoint": "ec2.ap-northeast-1.amazonaws.com",
"RegionName": "ap-northeast-1"
},
{
"Endpoint": "ec2.us-east-1.amazonaws.com",
"RegionName": "us-east-1"
},
{
"Endpoint": "ec2.sa-east-1.amazonaws.com",
"RegionName": "sa-east-1"
},
{
"Endpoint": "ec2.us-west-1.amazonaws.com",
"RegionName": "us-west-1"
},
{
"Endpoint": "ec2.us-west-2.amazonaws.com",
"RegionName": "us-west-2"
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后你可以应用该模式${bucket}.s3-website-<RegionName>.amazonaws.com
| 归档时间: |
|
| 查看次数: |
28654 次 |
| 最近记录: |