불행히도 내 실험은 Graeme의 결론에 동의하는 것입니다. 나는 이것을 오랫동안 고투했지만 Fn :: Join을 통해 문자열을 계산하고 나중에 템플릿에서 유지하는 방법을 찾지 못했습니다.
전형적인 예를 들려 줄 수 있습니까?
2014-09-18에서와 같이 Resources 섹션에서 재사용 할 문자열 값을 저장하는 가장 정교한 방법은 (두 번째 수준) 매핑을 사용하는 것입니다. 더 좋은 방법은 조건을 미리 계산하고 문자열 사용 여부를 결정할 수 있다는 것입니다. 그러나 불행히도 문자열 저장은 작동하지 않습니다.
다음은 그러한 매핑의 예제 스탠자입니다.
"LoadBalancerBucketMap": {
"BucketName": {
"string": {
"Fn::Join": [
"-",
[
"mylb",
{
"Ref": "Environment"
},
"logs"
]
]
}
}
},
그리고 여기에 리소스에 대한 액세스 표현이 있습니다.
"S3BucketName": {
"Fn::FindInMap": [
"LoadBalancerBucketMap",
"BucketName",
"string"
}
이 예제에서 Environment는 편리한 기본값을 가진 리터럴 문자열 Parameter입니다. 이것은 문자열을 만들고 재사용하는 매우 명확한 예입니다. 그러나 CloudFormation 프로세서는 다음과 같이 말합니다.
템플리트 유효성 검증 오류 : 템플리트 형식 오류 : 모든 맵핑 속성은 문자열 또는 목록이어야합니다.
따라서 템플릿에 임시 문자열 변수의 효과를 제공하는 방법이없는 것처럼 보이는 좌절감을 공유합니다.
… 내가 볼 수있는 한. 그러나 당신이 처음에받은 대답은 이것의 반대라고 말했지만 (예제는 없지만).
누구든지 예제 해결 방법이 있다면 공유 할 수 있습니까?