我有一个 Azure Function 场景如下: 1)如果产品 = 123,则使用服务总线主题 1 2)如果产品 = 456,则使用服务总线主题 2
我认为有两种方法可以解决这个问题:
选项 1:部署相同的 Azure 函数 2 次(2 个不同的名称),每个都有不同的输入/输出映射
选项 2:只有 1 个 Azure 函数,但在应用程序设置中指定输入/输出映射。**据我了解,应用程序设置是关键值。这个对吗?如果没有,我如何在这个参数中指定复数值**。
拥有这个的最好方法是什么?
我正在考虑的是使用不同的设置部署相同的 Azure Functions 2 次,如下所示:
- 应用程序设置为“productid”= 123 和“sbTopic”= topic1 的 Azure 函数 1
- 应用程序设置为“productid”= 456 和“sbTopic”= topic2 的 Azure Function 2
我想知道是否有更好的方法可以为我的任何输入/输出映射运行相同的 Azure 函数。如果是这样,我在哪里以及如何指定我的输入 (productid) 和输出 (sbTopic) 映射?
编辑 1:这是 CosmosDB 触发器。每当我们在 Cosmos DB 中获得产品时,我想发送到正确的 SB 主题
编辑2:我有类似的东西如下:
Cosmos DB 触发器 --> Azure 函数 --> id=123 的服务总线主题
我正在争论我是否应该如下
Cosmos DB 触发器 --> Azure Function1 --> id=123 的服务总线主题
Cosmos DB 触发器 --> Azure Function2 --> id=456 的服务总线主题
Cosmos DB 触发器 --> Azure Function3 --> 服务总线主题对于 id=789
这意味着我将复制 3 个 AF
等
或者
Cosmos DB 触发器 --> 1 个 Azure 函数。在 App Settings 中指定映射(产品 id 和 sb 主题)并 --> 在 AF 中添加逻辑,以便:
if id=123 send message to topic1 ;
如果 id=456 向主题 2 等发送消息。