排查 Azure 逻辑应用中的专用存储帐户错误

当创建单租户标准逻辑应用资源时,你必须拥有一个用于存储逻辑应用项目的存储帐户。 你可以限制对此存储帐户的访问,以便只有虚拟网络内的资源才能连接到逻辑应用工作流。 Azure 存储支持将专用终结点添加到存储帐户。

本文介绍将标准逻辑应用部署到受保护的专用存储帐户时可能发生的常见错误。

解决常见问题

以下错误通常发生在防火墙后面的专用存储帐户中,这些错误表示逻辑应用无法访问存储帐户服务。

问题 错误
拒绝访问 host.json 文件 “System.Private.CoreLib:拒绝访问路径‘C:\home\site\wwwroot\host.json’。”
无法连接到文件共享 “System.Private.CoreLib:找不到网络路径:'C:\home\data\Functions\secrets\Sentinels'。
无法对文件共享进行身份验证 “System.Private.CoreLib:用户名或密码不正确:'C:\home\data\Functions\secrets\Sentinels'。
在外部启动类中生成配置时出错 “System.Private.CoreLib:找不到路径”C:\home\site\wwwroot“的一部分。
无法在逻辑应用资源中加载工作流 “主机运行时遇到错误(ServiceUnavailable)。

为帮助你排查这些问题并找到根本原因,请执行以下步骤:

  1. 在 Azure 门户中,确保存储帐户和文件共享仍然存在。

  2. 在逻辑应用资源菜单中,在“设置”下选择“环境变量”

    1. 在“应用设置”选项卡上,找到名为 WEBSITE_CONTENTAZUREFILECONNECTIONSTRINGWEBSITE_CONTENTSHARE的设置。

    2. 检查这些设置是否分别指定正确的存储帐户和文件共享。 请确保没有拼写错误。

  3. 在逻辑应用资源菜单上,选择“诊断并解决问题”。 查找并运行以下检测器:“逻辑应用关闭或报告错误” 和“网络疑难解答”

    这些检测器会提供解决问题的见解和建议。

以下列表包括更多问题排查操作,你可通过它们查找原因:

注释

发生这些错误时,你的逻辑应用资源和工作流不会运行,因此你无法使用 Azure 中的 Kudu 控制台调试功能进行故障排除。

  • 在同一个虚拟网络的不同子网(与逻辑应用集成)中创建 Azure 虚拟机 (VM)。 尝试从 VM 连接到存储帐户。

  • 使用存储资源管理器工具检查对存储帐户服务的访问。

    如果使用此工具发现任何连接问题,请继续执行以下步骤:

    1. 从命令提示符运行 nslookup,检查存储服务是否解析为虚拟网络的专用 IP 地址:

      C:\>nslookup {storage-account-host-name} [optional-DNS-server]

    2. 检查所有存储服务:

      C:\nslookup {storage-account-host-name}.blob.core.windows.net

      C:\nslookup {storage-account-host-name}.file.core.windows.net

      C:\nslookup {storage-account-host-name}.queue.core.windows.net

      C:\nslookup {storage-account-host-name}.table.core.windows.net

    3. 如果这些 DNS 查询解析,请运行 pspingtcpping 以检查通过端口 443 到存储帐户的流量:

      C:\psping {storage-account-host-name} {port} [optional-DNS-server]

    4. 检查所有存储服务:

      C:\psping {storage-account-host-name}.blob.core.windows.net:443

      C:\psping {storage-account-host-name}.queue.core.windows.net:443

      C:\psping {storage-account-host-name}.table.core.windows.net:443

      C:\psping {storage-account-host-name}.file.core.windows.net:445

    5. 如果查询从 VM 解析,请继续执行以下步骤:

      1. 在 VM 中,查找用于解析的 DNS 服务器。

      2. 在逻辑应用中, 找到 WEBSITE_DNS_SERVER 应用设置并将其设置为 在上一步中找到的同一 DNS 服务器值。

      3. 检查是否使用逻辑应用中相应的虚拟网络和子网正确设置了虚拟网络集成。

联系我们以获得帮助

如果您有任何疑问或需要帮助,可以创建支持请求,或咨询Azure社区支持。 您还可以向Azure反馈社区提交产品反馈。