我想在我的http功能中創建手動定時器觸發器。 例如, 當我的函數得到一個http請求時,我想手動創建一個定時器觸發器,以便在30分鐘後觸發另一個函數。如何在我的http功能Azure功能中創建手動定時器觸發器
有誰知道我該如何在Azure函數中完成?
我想在我的http功能中創建手動定時器觸發器。 例如, 當我的函數得到一個http請求時,我想手動創建一個定時器觸發器,以便在30分鐘後觸發另一個函數。如何在我的http功能Azure功能中創建手動定時器觸發器
有誰知道我該如何在Azure函數中完成?
這是Programmatically Schedule one-time execution of Azure function
一個DUP有你的實際工作中通過隊列觸發完成,然後就可以通過延期可見排隊的消息:
CloudQueue queueOutput; // same queue as trigger listens on
var strjson = JsonConvert.SerializeObject(message); // message is your payload
var cloudMsg = new CloudQueueMessage(strjson);
var delay = TimeSpan.FromHours(1);
queueOutput.AddMessage(cloudMsg, initialVisibilityDelay: delay);
正如我在我的評論前面提到的,如果可能的話,您可以插入一條消息,並在您的http函數獲取請求時延遲30分鐘指定initialVisibilityDelay,然後您可以使用隊列觸發器函數處理隊列消息並執行一些任務。
如果您在Azure門戶上創建Azure功能,則可以使用reference Microsoft.WindowsAzure.Storage
並使用以下代碼在http觸發功能中添加消息。
參考組件和進口的命名空間
#r "Microsoft.WindowsAzure.Storage"
using System.Net;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Queue;
添加信息,並指定initialVisibilityDelay
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("{storage_connection_string}");
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("mymes");
queue.CreateIfNotExists();
CloudQueueMessage message = new CloudQueueMessage("{message_body}");
queue.AddMessage(message, initialVisibilityDelay: TimeSpan.FromMinutes(30));
此外,你可以create a function triggered by Azure Queue storage處理您的隊列中的消息。
您不需要創建定時器觸發器函數,您可以嘗試發送隊列消息,並在您的http函數獲取請求時用30分鐘的延遲指定initialVisibilityDelay,然後您可以使用隊列觸發器函數處理隊列消息。 –
約[initialVisibilityDelay]詳細信息(https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.queue.cloudqueue.addmessage?redirectedfrom=MSDN&view=azurestorage-8.1.3#Microsoft_WindowsAzure_Storage_Queue_CloudQueue_AddMessage_Microsoft_WindowsAzure_Storage_Queue_CloudQueueMessage_System_Nullable_System_TimeSpan__System_Nullable_System_TimeSpan__Microsoft_WindowsAzure_Storage_Queue_QueueRequestOptions_Microsoft_WindowsAzure_Storage_OperationContext_) –