gpt4 book ai didi

c# - 在 ServiceBusTrigger 中引用主题名称的环境变量

转载 作者:行者123 更新时间:2023-12-02 15:00:49 26 4
gpt4 key购买 nike

我想将项目添加到服务总线主题,然后取消“实时”订阅并发送到实时站点,然后取消“开发”订阅并发送到开发站点。

[FunctionName("AddFoo")]
public static async Task AddFooAsync(
[ServiceBusTrigger("topic-foo", "Live")]QueueItem item,
TraceWriter log)
{
var endpoint = ConfigurationManager.AppSettings["EndPoint"];
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("PublisherKey", foo.PublisherKey);
var foos = new HttpFooStore(httpClient, endpoint);

try
{
await foos.AddAsync(item.Value);
}
catch (BadRequestException)
{
log.Warning("Malformed request was rejected by XXX", item.PublisherName);
return;
}
catch (AuthorizationException)
{
log.Warning("Unauthorized request was rejected by XXX", item.PublisherName);
return;
}
catch (ResourceNotFoundException)
{
log.Warning("Request for unknown tracker was rejected by XXX", item.PublisherName);
return;
}
catch (Exception e)
{
log.Error("Request to XXX was unsuccessful", e, item.PublisherName);
throw e;
}
}

函数的实现完全一样,唯一不同的是订阅的名称,以及使用的端点。不幸的是,订阅名称是注释的一部分,因此它必须是常量。有什么方法可以在无需复制所有代码的情况下获得所需的效果?

编辑

澄清一下,我想创建两个单独的部署 - 一个用于实时,一个用于开发。对于每个部署,我都会更新环境设置,这将决定函数绑定(bind)到哪个订阅。

最佳答案

您可以通过用百分号包围它们来引用环境变量:

ServiceBusTrigger("%myTopic%", "%mySubscription%")

其中 myTopicmySubscription 是应用设置中的环境变量。

关于c# - 在 ServiceBusTrigger 中引用主题名称的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49867324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com