Servicebus 和 Function App(Vnet) 集成

Servicebus and Function App(Vnet) integration

我正在为函数应用程序使用主题触发器。我在 Vnet 中有我的函数应用程序,但没有服务总线。我可以看到消息没有通过函数获取 triggered/received。这是否意味着服务总线和功能应用程序都应该在 Vnet 内,或者是否有任何其他我可以尝试的选项。

如果我在Function App中移出Vnet,一切似乎都很好。有什么建议吗?

据我所知,VNet 集成使你的应用程序可以访问 VNet 中的资源,但它不会授予从 VNet 对你的应用程序的入站私有访问权限。这不会影响到 Azure 服务总线的出站流量。您不需要设置 WEBSITE_VNET_ROUTE_ALL=1.

验证集成子网上既没有启用服务端点也没有阻止 NSG 规则。

使用区域 VNet 集成时,需要做好几件事以确保函数应用可以与 Key vault 连接

  • 需要在集成子网上启用 Keyvault 服务端点。
  • 集成子网需要在 Keyvault 防火墙上列入白名单。参见 this

但是,由于体系结构的限制,目前有一种方案无法正常工作。看到这个:https://feedback.azure.com/forums/355860-azure-functions/suggestions/38817385-allow-key-vault-references-to-access-secrets-behin

如果通过应用设置传递 KeyVault 终结点,则此方案当前不起作用。如果您的函数代码直接访问密钥保管库端点,那么这应该可以工作。