RetrieveAllSubscribersLambdaPermissionApiGateway:
Type: 'AWS::Lambda::Permission'
Properties:
FunctionName: { "Fn::GetAtt": [ RetrieveAllSubscribersLambdaFunction, Arn ] }
Action: lambda:InvokeFunction
Principal: apigateway.amazonaws.com
SourceArn:
!Join
- "/"
- - 'arn:aws:execute-api:us-west-2:12345'
- - 'other stuff'
我有這段代碼,我嘗試在其中獲取該塊的代碼sourceArn。我意識到 sourceArn 在這個例子中是無效的,但是從無服務器查看的輸出也是如此。
An error occurred: RetrieveAllSubscribersLambdaPermissionApiGateway - 1 validation error detected: Value 'arn:aws:execute-api:us-west-2:12345/aws/:execute-api:/us-west-2/:/12345/:/a5dghhjk9//*/*' at 'sourceArn' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-]) :([a-z]{2}((-gov)|(-iso(b?)))?-[a-z] -\d{1})?:(\d{12})?:(.*) (Service: AWSLambda; Status Code: 400; Error Code: ValidationException; Request ID: a8db5326-dcdd-4abc-b4ae-e4fa5c03c6bd; Proxy: null).
uj5u.com熱心網友回復:
-- 更新 2022/01/16 12:49 AM 問題確實出在標簽上。一切都可以在這個問題上看到。TLDR;使用完整的函式名(例如'Fn::Join')。
但是,我幾乎可以肯定速記可以作業,只是需要首先滿足一些條件。我不會進行調查,因為已經實作了針對原始問題的可行解決方案,并且其他任何事情都超出了范圍。
——原創 經過我和瑞恩的一番折騰。Ryan 使用了另一種解決方案,其中包含可以在此處!Sub查看的插件。serverless-cloudformation-sub-variables
簡而言之,問題可能在于涉及未正確解決標簽的依賴項(很可能是由于配置錯誤。仍在調查中,如果可以使用其他插件解決原始解決方案,將進行更新)。
以下插件抽象了它的使用,!Sub從而解決了這個問題,
serverless-cloudformation-sub-variables
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/412509.html
標籤:
