私はAzureにサービスバスキューとサービスバスキュートリガー機能を持っています。最初に関数を公開し、サービスバスキューにメッセージを送信すると、関数がトリガされ、正常に実行されます。Azureサービスバスキュートリガー機能は、しばらくの間実行された後にキューに入れられたメッセージを受け取らない
しかし、私はそれを残しておき、キューに1時間ほどメッセージを送信しないと、メッセージを送信しても機能は起動しません。私は手動で '実行'を押すことによってポータルで再び機能を実行するか、Azureに再公開する必要があります。
私はそれを毎月何かを再起動する必要はありませんので、私はそれを実行し続けますか? 私のアプリは、数時間から数日間、新しいメッセージをキューに送信しないことがあります。
FYI - 私はこの関数が5分後にシャットダウンすることを読んでいますが、この場合は関数を使用できません。そして、タイマのトリガを使用したくないので、それから私はお金を無駄にしたい!右? 私の唯一の最良の選択肢は、1日を通して30分ごとにタイマー機能を実行することです。これを吸い取ってこのようにしなければならないかもしれませんが、メッセージがヒットしたときにその機能を実行することを望みますメッセージキュー。
FYI2 - 最終的には、特定の日付までメッセージを非表示にしたいのですが、最初にキューにプッシュすると(たとえば、キューに入れられてから1週間表示するように設定されています)私は何を達成しようとしていますか?授業終了後、登録された生徒にメールを送って欲しい。そのクラスは1〜30日前に予定されているかもしれない。だから、クラスが予定されているとき、私は、クラスが最初に私のアプリでスケジュールされた後、1週間、2週間2週間、3週間3日など、クラスが終了するまで機能を実行したくないです。ここで
は、私は私の支払いプランに投稿するよう求めてきたpublic static class Function1
{
[FunctionName("Function1")]
public static void Run([ServiceBusTrigger("yogabandy2017", AccessRights.Listen, Connection = "Yogabandy2017_RootManageSharedAccessKey_SERVICEBUS")]string myQueueItem, TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
}
機能function.jsonここ
{
"generatedBy": "Microsoft.NET.Sdk.Functions-1.0.0.0",
"configurationSource": "attributes",
"bindings": [
{
"type": "serviceBusTrigger",
"connection": "Yogabandy2017_RootManageSharedAccessKey_SERVICEBUS",
"queueName": "yogabandy2017",
"accessRights": "listen",
"name": "myQueueItem"
}
],
"disabled": false,
"scriptFile": "..\\bin\\PostEventEmailFunction.dll",
"entryPoint": "PostEventEmailFunction.Function1.Run"
}
から抜粋されている
なぜ新しい質問を以前の質問とよく似ていますが、回答に応答することなく続けますか? – Mikhail
よく似ているかもしれませんが、同じではありません! – user1186050
キューで管理権限を与えようとしましたか? ( "accessRights": "manage")私は過去に聞き取り許可だけが何もしていないと思って機能を騙したいくつかの問題があったことを知っています... – Niels