Как я могу получить конечную точку API appsyn c в бессерверном файле конфигурации? - PullRequest
0 голосов
/ 11 июля 2020

Я использую serverless для развертывания API-интерфейса Appsyn c и нескольких лямбда-функций. Этот плагин https://github.com/sid88in/serverless-appsync-plugin используется для развертывания Appsyn c. Лямбда и Appsyn c определены в одном и том же файле serverless.yml и развернуты вместе.

Моей лямбде необходимо знать конечную точку API Appsyn c, которая создается во время sls deploy. Как я могу ссылаться на конечную точку Appsyn c в качестве переменной среды на мою лямбду?

my serverless.yml:

function:
   myHandler:
      handler: src/lambdas.myHandler
      name: myHandler
      environment:
        ENDPOINT: # HERE, how can I get appsync endpoint url?

custom:
  appSync:
    name: ${self:provider.stackName}
    ...

1 Ответ

1 голос
/ 11 июля 2020

AppSyn c плагин предоставляет переменную GraphQlApi, которую вы можете использовать для переменных вашей среды, которые автоматически доступны в ваших лямбдах.

В вашей конфигурации:

environment:
  API_URL: { Fn::GetAtt: [ GraphQlApi, GraphQLUrl ] }

В вашей лямбде:

process.env.API_URL

Или напрямую в лямбда-конфигурации:

  name: myHandler
  environment:
    ENDPOINT: { Fn::GetAtt: [ GraphQlApi, GraphQLUrl ] }
...