Разверните одну и ту же функцию на другой конечной точке ASW Lambda. - PullRequest
0 голосов
/ 22 октября 2019

У меня есть функция, которую я успешно развернул в AWS Lambda с помощью Безсерверной инфраструктуры .

Эта функция зависит от некоторых переменных среды, которые я установил в файле serverless.yml, например, так:

    provider:
        name: aws
        runtime: nodejs8.10
        stage: ${opt:stage,'dev'}
        region: ${opt:region,'eu-west-1'}
        deploymentBucket:
            name: my-bucket
        environment:
            MY_ENV_VAR: 'the value of my var'

functions:
    myFunction:
        handler: handler.myHandler
        events:
            - http:
                  path: executeFunction
                  method: post

Теперь я хочу развернуть ту же логику, просто с другим значением MY_ENV_VAR для другой конечной точки . Если я просто изменю значение MY_ENV_VAR и затем разверну, конечная точка не изменится. Но даже если я изменю deploymentBucket и имя функции, то есть myFunction, развертывание всегда создает одну и ту же конечную точку.

Можно ли развернуть ту же функцию на другой конечной точке?

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Изменение имени службы не очень масштабируемое решение. Вы должны сохранить то же имя службы и выполнить развертывание, используя другую --stage, чтобы получить другую конечную точку в зависимости от стадии, на которой она развернута. Этап можно использовать для управления переменными среды, чтобы ему можно было установить одно значение на одном этапе и другое значение на другом этапе. См. Пример в этом SO Вопросе . Кроме того, nodejs8.10 является EOL на AWS. Вместо этого используйте nodejs10.x.

0 голосов
/ 22 октября 2019

Ну, через некоторое время я выясняю решение.

Первый параметр файла serverless.yml - service: myService.

Изменение этого параметра фактически создает развертывание, которое создает другую конечную точку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...