AWS Создать вывод параметров лямбда-скрипта как имя параметра, а не значение - PullRequest
0 голосов
/ 12 сентября 2018

Я запускаю этот скрипт сообщества Octopus для создания или обновления лямбда-функции.

Когда мы жестко кодируем значения для параметров, скрипт работает так, как объявлено. Однако, когда мы определяем переменные для использования в параметрах, он всегда вводит имя переменной Octopus вместо значения.

Так что переменная с именем AWS_Dash_OrderOnline_Lambda_Function_Name читается как #{AWS_Dash_OrderOnline_Lambda_Function_Name} для значения вместо фактического значения переменной.

Что происходит и что мне нужно изменить?

Соответствующий код скрипта ниже:

# Get the parameters.
$functionName = $OctopusParameters['FunctionName']
...
Write-Output $functionName

Выход:

#{AWS_Dash_OrderOnline_Lambda_Function_Name} 

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Вы получите переменную обратно в качестве значения, подобного этому, если значение не может быть определено.Это может быть из-за опечатки в имени или из-за отсутствия значения для переменной, соответствующей области текущего развертывания.

Например, у вас может быть значение для переменной с именемFoo определено для Prod, а не для Dev.Когда вы запускаете развертывание в Dev, вы получите #{Foo}, но в Prod вы получите фактическое значение.

Метод, который я использовал, заключается в том, чтобы предоставить значение с незаданной областью, например UnscopedFoo,затем, если вы видите это значение, вы знаете, что вы правильно ввели имя, и это проблема с областью видимости.Если вы этого не сделаете, то имя введено неправильно.

0 голосов
/ 13 сентября 2018

Если вы не правильно определите область действия вашей переменной, вы получите результат, как указано в вопросе.

Правильно определите область, среду, роли, каналы и т. Д., И значения переменных будут правильно импортированы.

...