管道变量中的Azure函数计时器触发器设置

问题描述 投票:0回答:1

我有一个 C# 计时器触发,部署到 Azure 时不会触发。定时器触发器有一个时间表设置,使用变量

%Schedule%
和本地开发时
local.settings.json
文件中的实际时间表值CRON表达式。

在 DevOps 发布管道中,有一个名为“Schedule”的环境变量,其中包含 CRON 表达式作为值。

将函数部署到 Azure 时,我看到计时器触发器值定义为

%Schedule%
,而不是环境变量中的 CRON 表达式。这是正确的还是实际的 CRON 表达式(不是
%Schedule%
)应该在 Azure 门户中可见?

azure-functions azure-pipelines
1个回答
0
投票

根据您的描述,您可以检查您的Azure Function应用程序设置,如果已经存在带有您预期的cron表达式的变量

Schedule
。这是我的带有计时器功能的示例函数,供您参考。

根据此文档上的本地设置文件

local.settings.json
文件存储应用程序设置和本地开发工具使用的设置。 local.settings.json 文件中的设置仅在您本地运行项目时使用。将项目发布到 Azure 时,请务必将 添加任何所需的设置 到函数应用程序的应用程序设置中。

在您的场景中,
value

文件中的

local.settings.json
可能不会影响 Azure Function 计时器触发器。它应由远程功能应用程序的应用程序设置中的
Schedule
变量确定。因此,如果您的代码部署到的函数应用程序的应用程序设置中没有这样的
Schedule
变量,则不会触发计时器函数。
要将 

local.settings.json

文件中的设置与项目部署到的函数应用中的

app 设置
同步,

当您在本地开发函数时,您的应用程序所需的任何本地设置也必须存在于部署代码的函数应用程序的应用程序设置中。您可能还需要将当前设置从函数应用下载到本地项目。虽然您可以
在 Azure 门户中手动配置应用程序设置

,但以下工具还可以让您将应用程序设置与项目中的本地设置同步:

    Visual Studio 代码
  • 视觉工作室
  • Azure Functions 核心工具
从Azure DevOps的角度来看,利用发布管道来部署Azure Function应用程序并更新应用程序设置,请参考下面的屏幕截图。

© www.soinside.com 2019 - 2024. All rights reserved.