如何从 ServiceBusAttribute 构造函数内部访问环境变量?

沙哈·肖克拉尼

我有一个绑定到服务总线的 azure 函数,我使用它是这样的:

[FunctionName("MyFunctionName")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
[ServiceBus("myqueueortopicname", Connection = "ServiceBusConnection")] IAsyncCollector<string> messages)

我正在尝试使服务总线队列名称可配置并从中获取 Environment.GetEnvironmentVariable("MyMessageBusQueueName")

[ServiceBus(Environment.GetEnvironmentVariable("MyMessageBusQueueName"), Connection = "ServiceBusConnection")] IAsyncCollector<string> messages)`

local.Settings.json

{
    "IsEncrypted": false,
    "Values": {
        "MyMessageBusQueueName": "myqueueortopicname",
        "ServiceBusConnection": "..."
    },
    "ConnectionStrings": {}
}

但我有以下错误:

属性参数必须是常量表达式、typeof 表达式或数组

用户1672994

您需要通过用 包装环境变量名称来使用绑定表达式%定义%MyMessageBusQueueName%将绑定到环境变量的队列名称

[ServiceBus("%MyMessageBusQueueName%", Connection = "ServiceBusConnection")] IAsyncCollector<string> messages)

在 Microsoft 文档 ---此处阅读有关绑定表达式的信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章