【问题标题】:Azure Function Storage Account Not Linking File Service On CreateAzure 函数存储帐户在创建时未链接文件服务
【发布时间】:2018-04-12 16:25:30
【问题描述】:

使用专用(标准)应用服务计划创建 Azure 功能时,我期望“链接”起来的文件服务没有“链接”到存储帐户。但是,存储帐户确实可以正确创建。当我转到 Azure 存储帐户刀片并找到文件存储时,Azure 没有链接到存储帐户的文件服务。使用 Windows 桌面软件 Microsoft Azure Storage Explorer (0.9.6) 时,我没有看到任何链接的文件共享。

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

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

【问题讨论】:

  • 在专用 SKU(基本/标准)中运行时,存储后端有点不同,您在存储资源管理器中看不到。您可以通过许多其他方式部署到它,Zip deploy being just one of them。或者新的Run-from-zip aka zipfs - 注意这个仍然是preview的东西
  • 我仍然可以从我的代码中通过 Visual Studio Publish 进行部署。然而,这并不理想,因为它是一个本地副本,没有像部署的代码那样被“验证”(因为发生了无法识别本地更改的人为错误)。理想情况下,将建立一个 VSTS 发布。使用带有预编译 C# 代码的 Zip 文件部署,我假设您必须使用 bin/release/[net_version]/* 并发布它(取出本地设置文件)?

标签: azure azure-functions azure-storage-files


【解决方案1】:

有一个解决方案供您参考,因为它适用于我。 在门户的应用程序设置选项卡中,添加以下两个应用程序设置:

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

还有一些解释给你。

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

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


更新

对于在应用服务计划中创建的功能应用,假设其文件存储在位置 A(服务器上的某处)。很好用,kudu显示存储在A中的文件,目前与文件共享无关。

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

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

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

【讨论】:

  • 如果没有链接,我如何发现文件服务名称是什么?它是标识帐户名称的连接字符串部分吗?我问是因为当使用该帐户名链接时,我看不到 wwwroot 文件夹(但它显示在高级工具中)。
  • “链接”不是应用服务计划中的预期操作(与消费计划相反),我们手动构建链接。所以文件共享名称取决于我们的选择(现有文件共享或新名称都可以)。添加设置后,函数应用将“链接”到我们指定的文件共享。需要在文件共享或 kudu 中刷新才能立即看到更改。
  • @JustinNeff 关于这个问题的任何更新或其他问题?
  • 当我从 Visual Studio 2017 手动“发布”时,Azure 函数出现在项目中,但我在 Kudo 中找不到它们。所以你说的是我必须通过“链接”到一个文件共享来“手动创建”文件共享。当我使用随机字符时,它创建了一个新字符,但发布的函数仍然有效,这是预期的功能吗?
  • 如果使用VS发布,你应该看到site\wwwroot\bin文件夹下的预编译代码为dll文件。 still functional 似乎出乎意料。在我这边几次刷新后,已发布的功能失效并从门户中的功能列表中消失。此外,如果你发现任何其他有用的方法,你可以放弃这个,因为它是一个意想不到的操作,深入研究它似乎是在浪费你的时间。但是,如果您对此感到好奇,请查看我的更新答案并随时提出任何其他问题。
猜你喜欢
  • 2017-11-23
  • 2016-07-17
  • 2022-12-21
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2014-06-17
相关资源
最近更新 更多