查找与S3桶关联的CloudFront Distribution



我已经查看了AWS SDK文档,试图找到一种方法来将CloudFront分布与特定的S3桶相关联,但到目前为止还没有运气。

我需要保存一些只能通过CloudFront分发域名访问的图像。我想动态地获取这个,因为这个url可以改变。

知道桶的名称,我怎么能得到这个URL使用sdk?

干杯!

到目前为止,我认为没有一种直接的方法可以实现这一点,但是使用AWS SDK,您可以按照以下方法在Javascript中从S3源(或任何其他源)查找分发id:

const params = {};
cloudfront.listDistributions(params, (err, data) => {
if (err) {
console.log(err, err.stack); // an error occurred
}
else {
const distributionItems = data.DistributionList.Items;
const distributionByOrigin = distributionItems.find(item => item.Origins.Items.find(originItem => originItem.DomainName === 'your.origin.domain.name.here'));
console.log(distributionByOrigin.Id);
});

或者,如果您使用别名,也可以实现相同的目的:

const params = {};
cloudfront.listDistributions(params, (err, data) => {
if (err) {
console.log(err, err.stack); // an error occurred
}
else {
const distributionItems = data.DistributionList.Items;
const distributionByAlias = distributionItems.find(item => item.Aliases.Items.find(aliasItem => aliasItem === 'your.url.alias.here'));
console.log(distributionByAlias.Id);
}
});

最新更新