Функция Azure - текущее имя ресурса Azure - PullRequest
0 голосов
/ 08 февраля 2019

Если я нахожусь в функции Azure, которая является TimerTrigger, как я могу получить имя моего развернутого ресурса Azure во время выполнения.

В HttpTrigger вы можете просто сделать это: req.RequestUri.AbsoluteUri и получить что-то, чтодает хорошее описание " как развернуто ".

В таймере не так очевидно, как получить имя или путь ресурса Azure во время выполнения TimerFuncton.

Мне бы хотелось что-то похожее на Microsoft.Azure.WebJobs.ExecutionContext, которое дает вам информацию о функции времени компиляции - но я ищу некоторую информацию во время выполнения из ресурса Running Azure, который выполняет мою функцию TimerTrigger.

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

Спасибо, Клаудиу

Вот несколько заключительных замечаний по этому поводу:

// Environment Variable Usage 
string res = System.Environment.GetEnvironmentVariable("WEBSITE_HOSTNAME", EnvironmentVariableTarget.Process);
//  WEBSITE_HOSTNAME is like "myAzureDeployedFuncName.azurewebsites.net" 
//  WEBSITE_HOSTNAME is like "localhost:7072" 
string res = System.Environment.GetEnvironmentVariable("WEBSITE_SITE_NAME", EnvironmentVariableTarget.Process);
//  WEBSITE_SITE_NAME is "myAzureDeployedFuncName" on Azure 
//  WEBSITE_SITE_NAME is not there in local debug function runtime 

// using AppSettings is not the same and usign the above GetEnvironmentVariable call 
string res = System.Configuration.ConfigurationManager.AppSettings["WEBSITE_HOSTNAME"]; // not there for Settings interface
//  WEBSITE_HOSTNAME will be blank - it is not part of "Settings"
string res = System.Configuration.ConfigurationManager.AppSettings["WEBSITE_SITE_NAME"]; 
//  WEBSITE_SITE_NAME is "myAzureDeployedFuncName" on Azure when using "settings" instead of Environment variable 
//  WEBSITE_SITE_NAME is not there in local debug function runtime 
// the above AppSettings are not the same as GetEnvironmentVariable behavior at runtime 

Позвонить "себя "из триггера таймера приложения функции, вот что полезно ...

WEBSITE_HOSTNAME = myAzureDeployedFuncName.azurewebsites.net

Some Other potentially useful Env Vars:
// next one has scm in name
HTTP_HOST = myAzureDeployedFuncName.scm.azurewebsites.net
// slot help
APPSETTING_WEBSITE_SLOT_NAME = Production

1 Ответ

0 голосов
/ 08 февраля 2019

Вы можете прочитать из переменной среды "WEBSITE_SITE_NAME".

Вы можете найти больше полезных переменных, если перейдете в Kudu: "https: //.scm.azurewebsites.net/Env.cshtml"

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