регистрировать исключения из log4net в хранилище таблиц Azure в функции Azure - PullRequest
2 голосов
/ 11 июня 2019

Я имею в виду эту ссылку для регистрации исключений из log4net в хранилище таблиц Azure.

Теперь мне нужно сделать то же самое в функциях Azure в ядре .net, но, поскольку нетКонфигурационные файлы в функциях Azure не могут использовать их там.

Любая помощь приветствуется, чтобы получить какую-либо ссылку на это.

1 Ответ

0 голосов
/ 11 июня 2019

Теперь мне нужно сделать то же самое в функциях Azure в ядре .net, но, поскольку в функциях Azure нет файлов конфигурации, я не могу использовать их там?

Кажется, вы пытаетесь прочитать какое-то свойство, которое мы обычно читаем из файла конфигурации. Да, вы можете сделать это и в Azure Function. Существует имя файла local.settings.json, с которого вы можете ознакомиться здесь. Смотрите пример ниже:

local.settings.json:

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "TableName": "YourTableName",
    "AccountName": "YourAccountName",
    "AccountKey": "YourAccountKey"

  }
}

Считайте свою собственность в Azure с функции local.settings.json:

  public static class AzureFunctionApp2Arunraj414CaseForGetConfigProperty
{
    [FunctionName("AzureFunctionApp2Arunraj414CaseForGetConfigProperty")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");

        //Read Request Body
        var content = await new StreamReader(req.Body).ReadToEndAsync();

        //Extract Request Body and Parse To Class
        Users objUsers = JsonConvert.DeserializeObject<Users>(content);

        //You Can Read Your Desired Value from local.settings.json file Like Below
        var yourTableNameFromLocalSettingsJson = Environment.GetEnvironmentVariable("TableName");
        var yourAccountNameFromLocalSettingsJson = Environment.GetEnvironmentVariable("AccountName");
        var yourAccountKeyFromLocalSettingsJson = Environment.GetEnvironmentVariable("AccountKey");


        //I am returning all the property I got from local.settings.json
        var result = new OkObjectResult(yourTableNameFromLocalSettingsJson +" & "+ yourAccountNameFromLocalSettingsJson + " & " + yourAccountKeyFromLocalSettingsJson+ " From local.settings.json");
        return result;
    }
}

Отладка и тестирование:

См. Снимок экрана ниже:

enter image description here

Примечание: Вы даже можете установить свою собственность вне значений в local.settings.json файле как отдельное свойство

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

...