Yapmam gereken görev, CDN'nin S3 paketine bağlı olması gerektiğidir, ancak yeni bir tane oluşturmak yerine varolan paketi de kullanabiliriz. İşte CloudFormation, Geçerli Koşulları Uygula
i ile savaşıyorum örnek kod: Gerekirse"Parameters" : {
"UseExistingBucket" : {
"Description" : "Yes/No",
"Default" : "yes",
"Type" : "String",
"AllowedValues" : [ "yes", "no" ]
}
},
"Conditions" : {
"CreateS3Resources" : {"Fn::Equals" : [{"Ref" : "UseExistingBucket"}, "no"]}
},
"Resources" : {
"StaticBucket" : {
"Type" : "AWS::S3::Bucket",
"Condition" : "CreateS3Resources",
"Properties" : {
"BucketName" : { "Fn::Join": [ "-", [ "app", { "Ref": "EnvType" }, "static" ] ] }
},
"DeletionPolicy": "Retain"
},
"MyStaticDistribution": {
"Type": "AWS::CloudFront::Distribution",
"Properties": {
"DistributionConfig": {
"Origins": [
{
"DomainName": {
"Fn::If" : [
"CreateS3Resources",
{ "Fn::Join": [ "-", [ "app", { "Ref": "EnvType" }, "static" ] ] },
{"Fn::GetAtt": [ "StaticBucket", "DomainName" ] }
]
},
"Id": "S3Origin",
}
]
}
},
"DependsOn": [{
"Fn::If" : [
"CreateS3Resources",
{ "Fn::Join": [ "-", [ "app", { "Ref": "EnvType" }, "static" ] ] },
""
]
}]
}
}
bana daha fazla ayrıntı önermek Lütfen
yerde var dokümantasyon mı:
Bu Optimize AWS CloudFormation Şablonları blog yayınında ait Belirleme bağımlılıklar bölümünde belgelenmiştir ilerletmeden önce diğer kaynağın bitmesini bekleyin? – doeiqts
@doeiqts Güzel soru. Ne yazık ki bunu belgelediğini görmedim, ancak bunun AWS örneklerinde kullanılmasından doğru olduğuna eminim, bunun birçok kez çalıştığını gördüm ve AWS mühendislerinden bu şekilde yapmamı emretti. AWS'den bu şekilde yaratmayı erteledikleri bir lambda örneği ekledim. Ama evet bazı resmi belgeler daha temiz olurdu. –