是否可以在 Timer Trigger Azure 函数中将双变量作为参数传递?

Is it possible to pass a double variable as an argument in Timer Trigger Azure function?

我正在制作一个计时器触发器 Azure 函数。我在这里使用一个变量来指示 TimeToCopy。该变量必须在函数的每次迭代后更新。

我有:

[FunctionName("Function1")]
    public static void Run([TimerTrigger("0 */2 * * * *")]TimerInfo myTimer, TraceWriter log, myTimerItem elapsedTime)

我想:

[FunctionName("Function1")]
        public static void Run([TimerTrigger("0 */2 * * * *")]TimerInfo myTimer, TraceWriter log, myTimerItem elapsedTime, double TimeToCopy)

函数无法可靠地将调用之间的状态保存在内存中。

如果您能接受数据丢失的可能性,您可以将值保存在静态变量中。

为了 save/restore 状态可靠,您需要向您的函数添加额外的绑定,例如利用 Table 存储空间。类似于:

[FunctionName("Function1")]
public static void Run([TimerTrigger("0 */2 * * * *")] TimerInfo myTimer, 
                       myTimerItem elapsedTime,
                       [Table("MyFuncState", "default", "Function1")>] StateEntity entity)
{
    // ...
    entity.TimeToCopy = entity.TimeToCopy * 2.0;
}

public class StateEntity: TableEntity
{
    public double TimeToCopy { get; set; }
}