【问题标题】:Publishing Azure Functions with large binary dependencies发布具有大型二进制依赖项的 Azure Functions
【发布时间】:2021-07-07 04:52:10
【问题描述】:

我在 Azure Functions 上有一个 F# 项目,它依赖于一个大型二进制文件 pandoc.exe。目前我正在使用 Azure Functions Core Tools 发布该函数:

func azure functionapp publish <function app name>

在我添加的 .fsproj 中:

<Content Include="pandoc.exe">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

这可行,但我注意到每次发布时它都会上传完整的 zip 包约 25MB。由于 pandoc 没有改变并且 > 99% 的包大小我想知道是否有办法只发布我的 dll 并保持现有的 exe 不变?

【问题讨论】:

  • 为什么不将它存储在 blob 存储中,然后在 AF 启动时下载它?
  • 对我来说听起来很合理,但不知道该怎么做?
  • @tranquility 我肯定会听从 Bowmans Zhu 的建议,只是让带有 azure 管道的 CI/CD 变得超级快,它会比通过 blob 更快,因为 1. 你需要编写代码,2.启动会变慢。

标签: .net-core azure-functions


【解决方案1】:

如果您只想每次上传.dll(或称为增量部署)。然后你可以看看这个:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-continuous-deployment

另外,如果你的函数应用是基于windowOS的,那么你可以使用ftp或者存储文件共享来上传文件。

【讨论】:

  • 我正在使用 VS Code 并在内置终端 (PowerShell) 上进行部署。设置好后,持续/增量部署听起来像是要走的路。
  • @BowmanZhu 我认为 OP 担心的是他们从他们的机器上部署并且速度很慢
猜你喜欢
  • 1970-01-01
  • 2021-11-05
  • 2023-03-25
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-11
  • 2020-12-03
相关资源
最近更新 更多