我有一些C#Azure函数,它们使用定时器触发器按计划运行。我是这样设置的,%TimerSchedule%
引用应用程序设置中的cron表达式:
public static void Run([TimerTrigger("%TimerSchedule%")]TimerInfo myTimer, TraceWriter log)
在开发过程中,我经常希望使用 Azure Functions Tools for Visual Studio Azure Functions Core Tools 在本地运行函数。但是当我按 F5 在本地调试函数时,它(通常)不会立即运行。相反,它开始根据计时器计划等待下一次发生。例如,如果我的 cron 表达式说每天晚上 8 点运行,我必须等到晚上 8 点,函数才能在我的机器上实际运行。
所以我的问题是:让一个函数在本地运行一次,最简单最好的方法是什么?
我已经尝试或考虑过的事情:
Run()
提供TimerInfo
和TraceWriter
参数 - 我发现令人惊讶的很少的文档。 Microsoft在Azure Functions页面中测试代码的策略对此主题没有太大帮助-它只提到计时器触发器作为测试其他触发器类型的一种方式。
在一个完美的世界里,我点击F5,这个函数会立即运行一次——就像开发一个“普通”一样。NET应用程序。
从…起https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows,csharp,bash#非http触发函数
对于除HTTP触发器和webhooks之外的所有类型的函数,您可以通过调用管理endpoint来本地测试您的函数。在本地服务器上用HTTP POST请求调用此endpoint会触发该函数。您可以选择在POST请求的主体中将测试数据传递给执行。该功能类似于Azure门户中的测试选项卡。
您可以调用以下管理员endpoint来触发非HTTP函数:
http://localhost:{port}/admin/functions/{function_name}
要将测试数据传递给函数的管理员endpoint,您必须在POST请求消息的主体中提供数据。消息正文必须采用以下JSON格式:
{
"input": "<trigger_input>"
}
您也许可以使用此处记录的RunOnStartup
标志。它并不完全符合您关于它只运行一次的要求,但它至少应该在应用程序启动后在本地执行它。
/// Gets or sets a value indicating whether the function should be invoked
/// immediately on startup. After the initial startup run, the function will
/// be run on schedule thereafter.
使用属性绑定的示例:
[TimerTrigger(“%TimerSchedule%”, RunOnStartup = true)]TimerInfo myTimer
我也有同样的问题,只在调试时使用DEBUG-flag让RunOnStartup运行:
public static void Run(
[TimerTrigger("* 0 7 * * 1-5"
#if DEBUG
, RunOnStartup=true
#endif
)]TimerInfo myTimer, TraceWriter log)
{
我在Visual Studio中创建了一个简单的blob触发器,init.py如下 function.json如下 local.settings。json如下所示 此代码在本地计算机上的visual studio中运行良好。但在azure portal上发布时,它无法从函数中读取blob路径。json并给出错误为 我已经使用命令发布了local.settings.json的contains。 .有
问题内容: jQuery,如何每5秒调用一次函数。 我正在寻找一种自动化幻灯片显示中图像更改的方法。 如果可能的话,我宁愿不安装其他任何第三方插件。 问题答案: 为此,您不需要jquery,使用简单的javascript即可! 要停止循环,您可以使用
我正在尝试在本地运行一个azure队列触发函数。我安装了Azure Storage Emulator并运行命令“AzureStorageEmulator.exe init”以在“(localdb)\mssqllocaldb”服务器上创建“AzureStorageEmulatorDB59”数据库。 在具有队列触发器函数的azure functions项目中,我有一个local.settings.js
我在C#中设置了一个非常简单的Azure函数来响应。当我按照Microsoft Azure指令在本地运行该函数时,我得到的只是一个空的404响应。 我用的是Visual Studio 2017 v15.3预览版,安装了Azure Function Tools扩展。这是我的Azure函数的代码: 当我在本地运行时(通过右键单击VS项目并进行调试) 但是,当我获取或POST到上述URL(将Conten
最好的方法是什么?JCUDA是一个完美的映射到C CUDA还是完全不同?或者从Java调用C代码并共享结果是否有意义(链接列表是否可以访问)?
我们正在构建一个系统,一些客户将在Azure中运行,一些客户将通过docker-compose在他们自己的硬件上在Docker中运行。我们的微服务基于Azure Functions。 我已经编写了一个docker compose文件来设置各种图像(网站、Azure函数和RabbitMQ) docker compose如下所示(简化): 当docker-comuse启动时,我在Azure Funct