Так как у меня была проблема с ошибкой 200 ресурсов, я нашел способ использовать перекрестную ссылку на стек путем разделения на разные сервисы.Мне удалось сделать это с помощью перекрестной ссылки.Проблема в том, что я не могу дать restApiId & restApiRootResourceId динамически.Прямо сейчас я статически устанавливаю идентификаторы в сервис-2.
В основном сервис-1 выглядит так:
provider:
name: aws
runtime: nodejs8.10
apiGateway:
restApiId:
Ref: ApiGatewayRestApi
restApiResources:
Fn::GetAtt:
- ApiGatewayRestApi
- RootResourceId
custom:
stage: "${opt:stage, self:provider.stage}"
resources:
Resources:
ApiGatewayRestApi:
Type: AWS::ApiGateway::RestApi
Properties:
Name: ${self:service}-${self:custom.stage}-1
Outputs:
ApiGatewayRestApiId:
Value:
Ref: ApiGatewayRestApi
Export:
Name: ApiGatewayRestApi-restApiId
ApiGatewayRestApiRootResourceId:
Value:
Fn::GetAtt:
- ApiGatewayRestApi
- RootResourceId
Export:
Name: ApiGatewayRestApi-rootResourceId
А сервис-2 выглядит так:
provider:
name: aws
runtime: nodejs8.10
apiGateway-shared:
restApiId:
'Fn::ImportValue': ApiGatewayRestApi-restApiId
restApiRootResourceId:
'Fn::ImportValue': ApiGatewayRestApi-rootResourceId
Как и в приведенной выше конфигурации службы-2, я не могу ссылаться на идентификаторы.К вашему сведению: оба сервиса находятся в разных файлах.Так как же не так с этим подходом?