CloudFormation에서 리소스 공급자 리소스에서 Fn::GetAtt 함수를 사용할 때 발생하는 ‘Attribute 'Key' does not exist’ 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

AWS CloudFormation의 리소스 공급자에서 Fn::GetAtt 함수를 사용할 때 다음 오류가 발생합니다. ‘Attribute 'Key' does not exist’

간략한 설명

CloudFormation은 필요한 속성을 받지 못하기 때문에 "Attribute 'Key' does not exist" 오류를 반환합니다. 리소스의 ReadHandlerorganization-service-resource.json 리소스 공급자 스키마 파일의 readOnlyProperties 목록에 지정된 속성을 반환해야 합니다.

리소스 공급자 사용과 관련된 다른 오류는 다음 문서를 참조하세요.

해결 방법

1.    organization-service-resource.json 파일에서 readOnlyProperties 정의가 다음 형식을 따르는지 확인합니다. 여기서 Outputproperties(속성) 섹션에 정의된 속성입니다. 예를 들면 다음과 같습니다.

"readOnlyProperties": [
    "/properties/Output"
],

참고: organization-service-resource.json 형식은 프로젝트의 루트 디렉터리에 있습니다.

2.    ReadHandler에서 model 객체의 속성을 설정합니다. 예를 들면 다음과 같습니다.

final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
    .resourceModel(model)
    .status(OperationStatus.SUCCESS)
    .build();

관련 정보

AWS CloudFormation CLI(GitHub 웹 사이트에서 제공)

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠