Ответ 1
Сначала необходимо создать пользовательский домен и загрузить сертификаты. Это не должно быть частью этого кода или вашего развертывания этого программного обеспечения.
После того, как у вас есть собственный домен, вам нужно подумать о CloudFormation.
Как и все остальное в Serverless Framework; вы можете использовать шаблоны CloudFormation для администрирования ресурсов в AWS.
Итак, ваш вопрос заключается в том, как вы можете добавить свой API-шлюз в свой пользовательский домен в CloudFormation (подсказка: в Google Search Search гораздо важнее помощь в поиске CloudFormation вместо Serverless Framework)? Создание AWS::ApiGateway::BasePathMapping
в CloudFormation - это ответ.
Это выполняется в Ресурсах в вашем файле serverless.yml
. Например, например:
resources:
Resources:
pathmapping:
Type: AWS::ApiGateway::BasePathMapping
Properties:
BasePath: oauth2
DomainName: ${self:vars.domainName}
RestApiId:
Ref: ApiGatewayRestApi
Stage: ${self:vars.stage}
Это требует наличия переменных для domainName
и stageName
в файле serverless.env.yml для используемых вами этапов.
Изменить:
Для версий Serverless Framework 1 перед rc1 вы должны добавить DependsOn: IamPolicyLambda
в ресурс pathmapping. Это было исправлено в: https://github.com/serverless/serverless/pull/1783
Перед rc1 вы должны использовать RestApiApigEvent
вместо ApiGatewayRestApi