[英]Why does my azure function sometimes fail to read a static configuration variable?
我有一個需要進行 http 調用的 azure 函數,它從配置變量中檢索 uri,我已確保該變量存在於 Azure 門戶的函數配置部分中。
當我在 Azure 中運行我的函數時,我注意到大約 80% 的時間,我的函數無法從函數配置中讀取值,即 Environment.GetEnvironmentVariable("endpoint_value_from_configuration") 方法調用返回 null。
但是,如果我反復測試此函數(不更改任何代碼或配置),它有時會成功讀取變量。 這里發生了什么? 如何更改此功能以免出現此問題?
[FunctionName("MessageHandler")]
public async Task Run([ServiceBusTrigger("%Topic%", "subname", Connection = "ServiceBusConnection")] string mySbMsg,
ILogger log)
{
var obj = JsonConvert.DeserializeObject<BusinessObject>(mySbMsg);
var endpoint = Environment.GetEnvironmentVariable("endpoint_value_from_configuration");
檢查Pitchmatt的響應 - 從 Azure 函數讀取設置
如果您使用的是V2 ,則需要使用以下代碼:
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
然后,使用 config 獲取設置:
var endpoint = config["endpoint_value_from_configuration"]
在本地調試時,它從“值”關鍵字下的local.settings.json
獲取設置。 在 Azure 中運行時,它會從“應用程序設置”選項卡獲取設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.