Как добавить переменную среды в AWS Lambda, не удаляя что там? - PullRequest
0 голосов
/ 28 октября 2018

Есть ли способ добавить новую переменную среды в лямбда-функцию AWS, не удаляя уже существующие?

(с помощью инструментов командной строки.)

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Я успешно использовал это как скрипт bash.

Имя лямбда-функции исходит из параметра.Моей целью было простое изменение переменной, чтобы перезапустить лямбда-функцию.

LAMBDA=$1

CURRENTVARIABLES=$(aws lambda get-function-configuration --function-name $LAMBDA | jq '.Environment.Variables')
NEWVARIABLES=$(echo $CURRENTVARIABLES | jq '. += {"kick":"'$(getrandom 8)'"}')
COMMAND="aws lambda update-function-configuration --function-name $LAMBDA --environment '{\"Variables\":$NEWVARIABLES}'"
eval $COMMAND
0 голосов
/ 28 октября 2018

Используя Lambda Console, вы можете просто добавить новые переменные окружения:

enter image description here

Делать это с помощью CLI сложнее - aws лямбда-обновление-функция-конфигурация позволяет выборочно обновлять аспекты лямбды, но не имеет вспомогательных методов для добавления переменных окружения. Вы можете использовать aws lambda get-function-configuration , чтобы получить текущий список переменных окружения. Которая может использоваться вместе с некоторыми сценариями bash / powershell (или языком по вашему выбору с использованием соответствующих функций SDK).

Например:

const AWS = require('aws-sdk');
const lambda = new AWS.lambda();

const FunctionName = 'FUNCTION_NAME';
const AppendVars = { key: value };

async function appendVars() {
  const { Environment: { Variables } } = await lambda.getFunctionConfiguration({ FunctionName }).promise();
  await lambda.updateFunctionConfiguration({
    FunctionName,
    Environment: { Variables: { ...Variables, ...AppendVars } },
  }).promise();
}

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