При переносе приложения, использующего файл настроек, в функцию Azure, необходимо ли удалять зависимость от файла?
Я хочу написать приложение функции для импорта данных из Xero в базу данных SQL Azure.,Xero SDK, который я использую, ожидает файл appsettings.json.
Следовательно, когда запускается функция, я получаю сообщение об ошибке
System.Private.CoreLib: Exception while executing function:
FunctionXeroSync. Xero.Api: The type initializer for
'Xero.Api.Infrastructure.Applications.Private.Core' threw an exception.
Microsoft.Extensions.Configuration.FileExtensions: The configuration file
'appsettings.json' was not found and is not optional. The physical path is
'C:\Users\kirst\AppData\Local\AzureFunctionsTools\Releases\2.6.0\cli\appsettings.json'.
Я попытался вставить соответствующие настройки через Управление настройками приложенияссылка на вкладку «Публикация проекта VS2017».Очевидно, что это не удается.Есть ли другой способ, которым я могу использовать?
Вот соответствующий код в API.Я бы предпочел не изменять его, чтобы использовать официальный пакет nuget.
namespace Xero.Api
{
public class XeroApiSettings : IXeroApiSettings
{
public IConfigurationSection ApiSettings { get; set; }
public XeroApiSettings(string settingspath)
{
var builder = new ConfigurationBuilder()
.AddJsonFile(settingspath)
.Build();
ApiSettings = builder.GetSection("XeroApi");
}
public XeroApiSettings() : this("appsettings.json")
{
}
public string BaseUrl => ApiSettings["BaseUrl"];
public string CallbackUrl => ApiSettings["CallbackUrl"];
public string ConsumerKey => ApiSettings["ConsumerKey"];
public string ConsumerSecret => ApiSettings["ConsumerSecret"];
public string SigningCertificatePath => ApiSettings["SigningCertPath"];
public string SigningCertificatePassword => ApiSettings["SigningCertPassword"];
public string AppType => ApiSettings["AppType"];
public bool IsPartnerApp => AppType?.Equals("partner", StringComparison.OrdinalIgnoreCase) ?? false;
}
}
Когда я добавляю
log.LogInformation("base directory: "+AppDomain.CurrentDomain.BaseDirectory);
к функции, я получаю
D:\Program Files (x86)\SiteExtensions\Functions\2.0.12095-alpha\32bit\
при работе на портале