【问题标题】:Azure Function cannot connect Event Hub via Virtual networkAzure Function 无法通过虚拟网络连接事件中心
【发布时间】:2022-11-07 16:27:01
【问题描述】:

下面描述的以下代码无法使用托管标识和单独的 VNet 子网连接到我的事件中心(请查看我的函数和事件中心设置)

PS:如果我暂时关闭“选定网络”并打开“公共访问”并将其返回给我的事件中心设置,则可以连接事件中心。

附加信息:我的 Azure 函数代码作为 Linux docker 容器运行,并公开以下端口:80、443,以及用于 AMQP 连接的 5671、5672

const string ServiceBusNamespacePostfix = ".servicebus.windows.net"

var fullyQualifiedNamespace = eventHubSettings.Value.NameSpace.Contains(ServiceBusNamespacePostfix)
                ? eventHubSettings.Value.NameSpace
                : $"{eventHubSettings.Value.NameSpace}{ServiceBusNamespacePostfix}";

_producerClient = new Azure.Messaging.EventHubs.Producer.EventHubProducerClient(fullyQualifiedNamespace, eventHubSettings.Value.Name, credential,
                new EventHubProducerClientOptions
                {
                    ConnectionOptions = new EventHubConnectionOptions
                    {
                        TransportType = EventHubsTransportType.AmqpTcp,
                    }
                }
            );

Azure 功能设置:

事件中心设置:

请任何人建议我应该在代码中更正什么,如果我的设置错误或者我不正确使用t understand VNets?

【问题讨论】:

    标签: azure-functions azure-eventhub


    【解决方案1】:

    Vnet 配置似乎是正确的。请尝试将以下应用设置添加到功能配置中,并检查问题是否已解决。

    Key Value
    WEBSITE_DNS_SERVER 168.63.129.16
    WEBSITE_CONTENTOVERVNET 1

    https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#website_contentovervnet

    请让我知道结果。我将能够为您提供进一步的帮助。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 2020-01-23
      • 1970-01-01
      • 2020-02-07
      • 2022-01-13
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      相关资源
      最近更新 更多