本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
故障診斷 AWS CloudFormation Guard
如果您在使用 時遇到問題 AWS CloudFormation Guard,請參閱本節中的主題。
當沒有所選類型的資源時,子句會失敗
當查詢使用類似 的篩選條件時Resources.*[ Type == 'AWS::ApiGateway::RestApi' ]
,如果輸入中沒有AWS::ApiGateway::RestApi
資源,則 子句會評估為 FAIL
。
%api_gws.Properties.EndpointConfiguration.Types[*] == "PRIVATE"
若要避免此結果,請將篩選條件指派給變數,並使用when
條件檢查。
let api_gws = Resources.*[ Type == 'AWS::ApiGateway::RestApi' ] when %api_gws !empty { ...}
Guard 不會使用短格式 Fn::GetAtt 參考來評估 CloudFormation 範本
Guard 不支援短形式的內部函數。例如,不支援在 YAML 格式 AWS CloudFormation 範本!Join
!Sub
中使用 。反之,請使用擴充形式的 CloudFormation 內部函數。例如,在 YAML 格式的 CloudFormation 範本Fn::Sub
中使用 Fn::Join
,根據 Guard 規則進行評估。
如需內部函數的詳細資訊,請參閱AWS CloudFormation 《 使用者指南》中的內部函數參考。