Пользовательский блок в serverless.yml
оценивается до создания ресурсов и поэтому не может ссылаться на эти выходные данные.Даже в пределах CFN существуют ограничения на то, где и как вы ссылаетесь на них.
Однако вы можете ссылаться на выходные данные из других стеков CloudFormation.
Вы должны разделить свой серверный проект на два проекта, первый из которых устанавливаетпул пользователей, а второй использует эту инфраструктуру.
В вашем первом проекте у вас есть ресурсы пула пользователей, и вы экспортируете идентификатор для будущего использования в другие стеки, например:
Resources:
Outputs:
MyUserPoolId:
Value:
Ref: CognitoUserPool # Key name of user pool resource
Export:
Name: MyUserPoolId
InВаш второй проект, которому нужен идентификатор пула, вы бы импортировали его:
custom:
appSync:
userPoolConfig:
userPoolId:
Fn::ImportValue: MyUserPoolId
Ваш первый проект должен быть развернут для второго проекта для импорта экспортируемого значения.
Вы также можете использоватьПеременные ENV, но для этого все же требуется сначала установить пул пользователей.