Azure 函数存储帐户在创建时未链接文件服务

标签 azure azure-functions azure-storage-files

使用专用(标准)应用服务计划创建 Azure 函数时,我期望“链接”的文件服务并未“链接”到存储帐户。但是,存储帐户确实已正确创建。当我转到 Azure 存储帐户边栏选项卡并找到文件存储时,Azure 没有链接到存储帐户的文件服务。使用 Windows 桌面软件 Microsoft Azure 存储资源管理器 (0.9.6) 时,我没有看到任何链接的文件共享。

当我转到 Azure Function 的高级工具 (Kudo) 时,我可以看到存储帐户文件夹“Data”、“LogFiles”和“Site”以及我希望找到的 wwwroot。但是,由于某些网络限制,我无法通过网站上传代码,因此该选项不可用。

创建基于消耗的计划时,一切都很好地链接起来,我可以在 Azure 存储资源管理器应用程序中管理它们。如何将已创建的文件服务文件共享链接到已创建的 Azure Functions,以便我可以在桌面应用程序中对其进行管理,并在存储资源管理器中正确链接显示内容?

最佳答案

有一个解决方案供您引用,因为它在我这边有效。 在门户的“应用程序设置”选项卡中,添加以下两个应用程序设置:

  • WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 存储帐户连接字符串
  • WEBSITE_CONTENTSHARE 文件共享名称

还有一些解释给你。

在创建函数应用时,我们指定的存储帐户主要用于存储日志和主机锁等文件。 仅对于消费计划中创建的功能应用程序,它会自动添加上述两个应用程序设置,并默认使用文件共享来存储整个功能应用程序。

Azure document说,文件共享相关设置仅适用于消费计划。这似乎不是应用服务计划中创建的功能的预期操作,但它在实践中无论如何都是有效的。

<小时/>

更新

对于在应用服务计划中创建的函数应用,假设其文件存储在位置 A(服务器上的某个位置)。效果很好,kudu 显示了 A 中存储的文件。到目前为止,与文件共享无关。

然后我们添加这两个设置,并假设文件共享为 B。 系统保留 B 中的旧文件(如果存在)并在其中创建一个空的函数应用程序。从现在起,只要“链接”(两个设置)存在,系统就会瞄准并利用B中的文件。在门户、kudu 或应用服务编辑器中,我们看到 B 中的文件,并且更改也将保存在那里。

如果我们删除“链接”,一切都会回到A,需要等待一段时间系统“重定向”。

所有解释都是基于我的测试(几十次),因为这是一个意外的操作,并且没有文档描述。

关于Azure 函数存储帐户在创建时未链接文件服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49801605/

相关文章:

c# - Asp Core Web App,使用 Azure Devops 部署时为 404,通过 Visual studio 发布时为 200

azure - 如何从 Azure DevOps 管道运行 "docker login azure"

c# - Azure 函数 local.settings.json 在 ServiceBusTrigger 的 appsettings.json 中表示

c# - HTTP 绑定(bind) Azure 函数中的自动反序列化是否考虑区域设置特定信息?

c# - Azure 函数 - 从 DefaultCredentials\Managed Identity 获取 token

c# - HTTP 请求 ' ' 中发现的 MAC 签名与任何计算出的签名不同。服务器使用以下字符串来签名 : 'PUT

javascript - 无法使用 Rest API (JavaScript) 从浏览器上传 Azure 存储文件共享文件

python - 无法设置 Azure Data Lake 文件的内容类型

c# - ASP.NET 移动应用程序通过请求简单的 GET 操作获取 "500 Internal Sever Error"

azure - 相同的 Azure 应用程序无法在不同的租户中运行