【发布时间】:2021-06-28 19:37:53
【问题描述】:
我正在尝试在 sam 模板中使用字符串列表,但它没有按预期工作。有我的代码
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
Sample SAM Template
Parameters:
CognitoPoolArns:
Type: List<String>
Default: "[\"arn:aws:cognito-idp:eu-west-X:XXXXX:userpool/eu-west-XXXXXXX\",\"arn:aws:cognito-idp:eu-west-X:XXXXXX:userpool/eu-west-XXXXXX\",]"
Resources:
Api:
Type: AWS::Serverless::Api
Properties:
StageName: dev
Name: name
EndpointConfiguration:
Type: REGIONAL
Auth:
DefaultAuthorizer: MyCognitoAuthorizer
Authorizers:
MyCognitoAuthorizer:
UserPoolArn: !Ref CognitoPoolArns
PingGetFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambdas/ping_get/
FunctionName: get-ping
Handler: main.lambda_handler
Runtime: python3.8
Events:
API:
Type: Api
Properties:
RestApiId: !Ref Api
Path: /api/v1/ping
Method: get
我收到此错误消息:Errors found during import: Unable to create authorizer 'MyCognitoAuthorizer': ProviderARNs need to be valid Cognito Userpools. Invalid ARNs- ["arn:aws:cognito-idp:eu- west-X:XXXX:userpool/eu- west-XXXXX" "arn:aws:cognito-idp:eu- west-X:XXXXXX:userpool/eu- west-XXXXX" ]
如果我这样做了
MyCognitoAuthorizer:
UserPoolArn:
- arn:aws:cognito-idp:eu-west-X:XXX:userpool/eu-west-XXXXXXXX
- arn:aws:cognito-idp:eu-west-X:XXX:userpool/eu-west-XXXXXXXX
它正在工作。如何通过变量传递来处理?
【问题讨论】:
标签: amazon-web-services aws-sam aws-sam-cli