标签: azure-functions

Azure Webjobs与Azure功能:如何选择

我创建了一些使用触发器的Azure Webjobs,我刚刚学习了Azure Functions.

根据我的理解,Azure Functions似乎与Azure Webjobs功能重叠,我有一些难以理解何时在Function和Webjob之间进行选择:

  • 与Webjobs不同,函数只能被触发,它不是为了运行连续过程而设计的(但您可以编写代码来创建连续函数).

  • 您可以使用多种语言编写Webjobs和函数(C#,node.js,python ...),但您可以从Azure门户编写函数,以便更容易,更快地开发测试和部署函数.

  • Webjobs在App Service Web应用程序,API应用程序或移动应用程序的上下文中作为后台进程运行,而Function则使用Classic/Dynamic App Service Plan运行.

  • 关于缩放,函数似乎提供了更多的可能性,因为您可以使用动态应用程序服务计划,并且您可以扩展单个函数,而对于webjob,您必须扩展整个Web应用程序.

因此,确定存在价格差异,如果您运行现有的Web应用程序,您可以使用它来运行webjob而无需任何额外费用但是如果我没有现有的Web应用程序而且我必须编写代码来触发队列我应该使用webjob还是函数?

您需要选择时还需要记住其他注意事项吗?

azure azure-webjobs azure-functions

145
推荐指数
6
解决办法
4万
查看次数

104
推荐指数
4
解决办法
4万
查看次数

Azure Functions:在 Blob 存储秘密存储库上执行读取操作时出错

在本地测试 Azure Functions 时,我收到此错误:

“在 Blob 存储秘密存储库上执行读取操作时出错。请确保‘AzureWebJobsStorage’连接字符串有效。”

我有 Azure Blob 存储设置,包括存储模拟器和存储资源管理器。如何解决这个问题?

.net azure .net-core azure-functions

57
推荐指数
4
解决办法
3万
查看次数

Azure函数数据库连接字符串

如何向Azure功能添加或访问app.config文件以添加数据库连接字符串?如果您不应该添加app.config并且有更好的方法来访问外部数据库来执行该功能,请告诉我最佳实践.谢谢!

c# azure azure-functions

55
推荐指数
6
解决办法
3万
查看次数

重命名Azure功能

如何重命名Azure功能

我想将默认的'HttpTriggerCSharp1'名称替换为我自己名称.目前遗憾的是,此名称包含在函数URL中,并且没有更改它的选项:

https://functions-xxx.azurewebsites.net/api/HttpTriggerCSharp1

图片

azure azure-webjobs serverless-framework azure-functions serverless-architecture

52
推荐指数
5
解决办法
1万
查看次数

如何在Visual Studio中的其他端口上运行Azure Function应用程序

我在local.setting.json中设置本地主机端口.参考Microsoft doc https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local

该文件如下所示

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""   
  },
  "Host": {
    "LocalHttpPort": 7073
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行/调试解决方案时,VS仍然在默认端口上托管应用程序(7071)

我已经检查了bin目录,该local.setting.json文件正在进行上述设置.从bin目录运行Azure Fucntion CLI(func host start)正确读取端口号.

看起来VS没有使用"LocalHttpPort"端口.设置中是否需要进行任何其他更改.我有Visual Studio 2017预览版(2)

azure azure-functions visual-studio-2017

45
推荐指数
9
解决办法
1万
查看次数

在本地运行一次定时器触发的Azure功能的最简单方法是什么?

我有几个C#Azure函数使用计时器触发器按计划运行.我已经设置了它们,在%TimerSchedule%应用程序设置中指的是cron表达式:

public static void Run([TimerTrigger("%TimerSchedule%")]TimerInfo myTimer, TraceWriter log)
Run Code Online (Sandbox Code Playgroud)

在开发过程中,我经常希望使用Azure功能工具为Visual Studio + Azure功能核心工具在本地运行这些功能.但是,当我按F5调试本地函数时,它(通常)不会立即运行.相反,它根据计时器计划开始等待下一次出现.因此,例如,如果我的cron表达式表示每天晚上8点运行,我必须等到晚上8点才能在我的机器上实际运行该功能.

所以我的问题是:在本地运行一次函数的最简单和最好的方法什么?

我尝试或考虑过的事情:

  1. 使用更频繁的计时器计划仅用于本地开发
    • 这是好的,但并不完美 - 除非它非常频繁,否则你还需要等待一段时间,如果非常频繁,那么该函数可能会运行多次.这就是我现在正在做的事情.
  2. 编写一个直接调用函数Run()方法 的控制台应用程序或单元测试
    • 这不是100%直截了当,因为你必须提供TimerInfoTraceWriter参数Run()- 而且我发现了很少的文档.

Microsoft 在Azure功能页面中测试代码策略对此主题没有太大帮助 - 它只提到计时器触发器作为测试其他触发器类型的方法.

在一个完美的世界里,我会点击F5并且该功能会立即运行一次 - 就像开发一个"普通"的.NET应用程序一样.

c# timer azure azure-functions

40
推荐指数
8
解决办法
9860
查看次数

Azure 应用服务计划:功能与应用服务?

在应用服务计划中托管 Azure Function 时,与使用与同一应用服务计划关联的应用服务(编辑:用于静态 API)相比,是否有任何显着差异?我认为唯一的区别是该功能提供了额外的开箱即用触发器。我遗漏了哪些差异会导致我更喜欢其中之一?

我还想确认,如果应用服务计划中未配置扩展,则在应用服务计划中托管 Azure Functions 实际上会限制可扩展性。据我了解,使用消费或高级托管时,功能会根据需要自动扩展,无需额外配置。

azure azure-web-app-service azure-functions

36
推荐指数
2
解决办法
4万
查看次数

Azure功能:发布失败,并显示消息"Web部署无法修改目标上的文件,因为它已被外部进程锁定".

我正在开发Azure功能项目,当我第一次发布时,好的.然后我再次发布,出现此错误:

Web Deploy无法修改目标上的文件"FunctionApp5.dll",因为它已被外部进程锁定.为了使发布操作成功,您可能需要重新启动应用程序以释放锁定,或者在下次发布尝试时使用.Net应用程序的AppOffline规则处理程序.有关详情,请访问:http: //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_FILE_IN_USE.

它仅在我进入Azure门户时发布,并重新启动此Azure功能应用程序

Azure门户和Visual Studio 2017

azure-functions

35
推荐指数
1
解决办法
5460
查看次数

Visual Studio 2019 重新下载 Azure Function CLI 工具

我正在尝试使用 Visual Studio 2019 编写几个 Azure 函数(版本 2)。第一次尝试运行它们时,我收到以下消息:

在此处输入图片说明

功能运行,但如果我重新启动 VS 并尝试再次运行该功能,它会再次下载工具,这需要永远。只要我在同一个 VS 会话中重新运行该函数,它就不会重新执行下载。

我已验证我在 VS 中安装了“Azure 开发”工作负载。我还按照此处所述使用 NPM 安装了 Azure Functions Core Tools 。但它每次都会继续重新下载。

我该如何解决这个问题?谢谢。

azure visual-studio azure-functions

35
推荐指数
2
解决办法
8114
查看次数