![](/img/trans.png)
[英]Set $_HANDLER environment variable AWS Lambda in Dockerfile or via terraform
[英]How do I set & fetch Environment variable in AWS Lambda Project in C#
我在C#
中創建了AWS Lambda Project
(不是無服務器應用程序)
我在aws-lambda-tools-defaults.json
中定義了一個環境變量,如下所示
"environment-variables": {
"my-api": "http://myapihost.com/api/attendance-backfill"
}
在Function.cs中,取值如下
var apiUrl = Environment.GetEnvironmentVariable("my-api").ToString();
但它總是以null
的形式出現。
如何設置和獲取環境變量?
謝謝!
根據評論。
它非常接近,但是經過一番挖掘之后,我發現了如何使用Mock Lambda測試工具為本地運行實際設置這些設置。 實際上,它位於launchSettings.json文件中。 您想將設置放在配置文件節點的“模擬Lambda測試工具”部分中,而不是在其外部。
{
"profiles": {
"Mock Lambda Test Tool": {
"commandName": "Executable",
"commandLineArgs": "--port 5050",
"workingDirectory": ".\\bin\\Debug\\netcoreapp2.1",
"executablePath": "C:\\Users\\%USERNAME%\\.dotnet\\tools\\dotnet-lambda-test-tool-2.1.exe",
"environmentVariables": {
"environment": "test"
}
}
}
}
您需要在兩個地方設置環境變量:開發時間和部署時間。 為此,請從解決方案資源管理器中的Properties文件夾下打開launchSettings.json文件。 然后添加以下JSON屬性:
"environmentVariables": {
"my-api": "something"
}
要在部署時設置環境變量,可以將它們添加到aws-lambda-tools-defaults.json文件中。 (只記得逃脫雙引號。)
environment-variables, its format is: "<key1>=<value1>;<key2>=<value2>;".
在你的情況下,你應該
"environment-variables" : "\"my-api\"=\"http://myapihost.com/api/attendance-backfill\";"
消耗/獲取環境變量
通過使用系統庫aws blog在C#代碼中直觀地將環境變量作為Lambda函數邏輯的一部分來使用:
System.Environment.GetEnvironmentVariable(<key>);
您可以使用以下方法;
var apiUrl = System.Environment.GetEnvironmentVariable("my-api");
在本文檔中 ,建議您獲取環境變量的方法是正確的。
var variableValue = Environment.GetEnvironmentVariable("nameOfVariable");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.