где хранить файлы для лазурной функции? - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть файлы, на которые я ссылаюсь изнутри с помощью кода C #, например:

    public static string Canonical()
    {
        return File.ReadAllText(@"C:\\myapp\\" + "CanonicalMessage.xml");
    }

Как мне ссылаться на этот файл из функции Azure?

    public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
    {
        var data = File.ReadAllText(@"c:\\myapp\\" + "CanonicalMessage.xml");

        //etc
    }

Возможно, я смогу просто встроить этот ресурс в проект?

1 Ответ

0 голосов
/ 19 ноября 2018

Да, поместите файл в корень проекта функции Azure и установите для его свойства Copy to Output Directory значение Copy if newer. Используйте код ниже.

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log, ExecutionContext context)
{
    var data = File.ReadAllText(context.FunctionAppDirectory+"/CanonicalMessage.xml");

    //etc
}

Проверьте документ для более подробной информации.

Если нам нужно добавить этот файл из любого места локально, щелкните правой кнопкой мыши по проекту проекта, Edit <FunctionProjectName>.csproj. Добавьте элемент ниже, относительный или абсолютный путь в порядке.

<ItemGroup>
  <None Include="c:\\myapp\\CanonicalMessage.xml">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup> 
...