Azure functions 使用Azure应用程序配置中设置的Azure持久功能TaskHub名称
是否可以从Azure应用程序配置服务中存储的值设置Azure持久功能的TaskHub名称?我的Azure functions 使用Azure应用程序配置中设置的Azure持久功能TaskHub名称,azure-functions,azure-durable-functions,azure-app-configuration,Azure Functions,Azure Durable Functions,Azure App Configuration,是否可以从Azure应用程序配置服务中存储的值设置Azure持久功能的TaskHub名称?我的host.json文件是: { "version": "2.0", "extensions": { "durableTask": { "hubName": "%TaskHubName%" } } } 我正
host.json
文件是:
{
"version": "2.0",
"extensions": {
"durableTask": {
"hubName": "%TaskHubName%"
}
}
}
我正在我的编排客户端中尝试使用活页夹:
[FunctionName("Test_HttpStart")]
public static async Task<HttpResponseMessage> HttpStart(
[HttpTrigger(AuthorizationLevel.Function, "get")] HttpRequestMessage req,
IBinder binder)
{
var starter = await binder.BindAsync<IDurableOrchestrationClient>(
new DurableClientAttribute { TaskHub = Configuration["TaskHubName"] });
但是当我从local.settings.json
中删除它并从Azure应用程序配置中检索此值时:
Configuration = new ConfigurationBuilder()
.AddAzureAppConfiguration(options =>
{
_ = options.Connect(Environment.GetEnvironmentVariable("app-configuration-connection-string"))
.Select(@"TaskHubName");
})
.AddEnvironmentVariables()
.Build();
我收到错误消息:
Microsoft.Azure.WebJobs.Extensions.DurableTask:任务中心名称“%TaskHubName%”应仅包含字母数字字符,以字母开头,长度介于3和45之间。Microsoft.WindowsAzure.Storage:容器名称无效。有关有效容器命名的详细信息,请查看MSDN
因此,即使我可以看到Azure应用程序配置中的值被拉下来并存在于应用程序的配置中,但它看起来并没有被使用。是否可以使用Azure App Configuration中的值作为持久功能的TaskHub名称?运行时绑定应该可以工作,但错误可能来自启动序列,该序列从host.json中获取值,该值用于其他功能,如
不幸的是,现在还没有办法解决这个问题
不过,您可以投票支持此方案。谢谢您提供的信息。我会将你的回答标记为已回答,直到这成为可能。
Configuration = new ConfigurationBuilder()
.AddAzureAppConfiguration(options =>
{
_ = options.Connect(Environment.GetEnvironmentVariable("app-configuration-connection-string"))
.Select(@"TaskHubName");
})
.AddEnvironmentVariables()
.Build();