簡體   English   中英

Azure函數環境變量

[英]Azure Function Environment Variables

我正在嘗試創建一個超基本的Azure函數,但是遇到了環境變量的麻煩。 遵循各種在線教程,

        var config = new ConfigurationBuilder()
             .SetBasePath(context.FunctionAppDirectory)
             .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
             .AddEnvironmentVariables()
             .Build();

        log.Info(config["AzureWebJobsStorage"]);

我的local.settings.json看起來像這樣:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "<language worker>",
    "AzureWebJobsStorage": "abc123",
    "AzureWebJobsDashboard": "abc123",
    "MyBindingConnection": "abc123"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*"
  }
}

當我在本地運行時,

log.Info(config["AzureWebJobsStorage"]); 

行什么都沒有返回...但是當我部署到Azure時,在控制台中看到“ abc123”。

但是,如果我將該行更改為

log.Info(config["Values:AzureWebJobsStorage"]);

然后,當我在本地運行時,看到“ abc123”,但是當我部署到Azure時,什么也看不到。

我缺少能夠以本地方式還是部署方式訪問環境變量的東西嗎?

編輯:為澄清起見,這些設置在該功能的應用程序設置配置的: 在此處輸入圖片說明

假設您正在使用〜2運行時作為Azure函數的目標,則可以通過以下方式訪問配置值:

log.Info(Environment.GetEnvironmentVariable("AzureWebJobsStorage", EnvironmentVariableTarget.Process));

在本地測試功能時,這些環境變量會起作用。 但是,當部署到Azure功能門戶時,需要使用它們的內置系統來設置變量以處理環境變量。

將鍵值復制並粘貼到下圖中突出顯示的部分中。

< Azure Functions門戶-環境

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM