2017-09-27 26 views
-2

http関数で手動タイマートリガーを作成します。 たとえば、 私の関数がhttp要求を受け取ると、30分後に別の関数をトリガーするように、手動でタイマートリガーを作成します。Azure関数のhttp関数で手動タイマートリガーを作成するには

誰も私がAzure関数で行うことができます知っていますか?

+2

このタイマートリガー関数を作成する必要はありません。キューメッセージを送信し、http関数がリクエストを取得したときに30分遅れて '' initialVisibilityDelay''を指定すると、キュートリガー関数を使用できますキューメッセージを処理します。 【initialVisibilityDelay】約 –

+0

詳細情報(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_) –

答えて

0

これはあなたの本当の仕事は、キュートリガーを経由して行っている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); 
1

私は私のコメントで先に述べたように、可能であれば、メッセージを挿入して、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; 

あなたがcreate a function triggered by Azure Queue storageあなたのキューのメッセージを処理することができ、メッセージを追加し、

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)); 

ほかにinitialVisibilityDelay

を指定します。

関連する問題