Я пытаюсь разделить Cognito Authorizer между своими стеками для этого. Я экспортирую свой Authorizer, но когда я пытаюсь сослаться на него в другом сервисе, я получаю сообщение об ошибке
Пытаюсь запросить не экспортированная переменная из CloudFormation. Имя стека: "myApp-services-test" Запрошенная переменная: "ExtApiGatewayAuthorizer-test".
Вот мой стек, в котором определен и экспортирован авторизатор:
CognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
# Generate a name based on the stage
UserPoolName: ${self:provider.stage}-user-pool
# Set email as an alias
UsernameAttributes:
- email
AutoVerifiedAttributes:
- email
ApiGatewayAuthorizer:
Type: AWS::ApiGateway::Authorizer
Properties:
Name: CognitoAuthorizer
Type: COGNITO_USER_POOLS
IdentitySource: method.request.header.Authorization
RestApiId: { "Ref": "ProxyApi" }
ProviderARNs:
- Fn::GetAtt:
- CognitoUserPool
- Arn
ApiGatewayAuthorizerId:
Value:
Ref: ApiGatewayAuthorizer
Export:
Name: ExtApiGatewayAuthorizer-${self:provider.stage}
this успешно экспортируется, поскольку я вижу его в списке экспорта стека с моей консоли aws.
Я пытаюсь ссылаться на него в другом стеке следующим образом:
myFunction:
handler: handler.myFunction
events:
- http:
path: /{userID}
method: put
cors: true
authorizer:
type: COGNITO_USER_POOLS
authorizerId: ${myApp-services-${self:provider.stage}.ExtApiGatewayAuthorizer-${self:provider.stage}}
моя информация env
Your Environment Information ---------------------------
Operating System: darwin
Node Version: 12.13.1
Framework Version: 1.60.5
Plugin Version: 3.2.7
SDK Version: 2.2.1
Components Core Version: 1.1.2
Components CLI Version: 1.4.0