バインディングを指定したキューにデータが追加されても、キュートリガーがアクティブ化されません。JSONデータを受け取ってそのキューに入れる別の永続関数があります。ストレージエクスプローラーを使用してキューにデータが表示されるのを確認できるので、問題なく動作します。しかし、データがキューに到着した後、私のqueuetrigger関数は決して起動しません。
ポータルで合計実行数が0と表示されているため、起動していないことがわかります。
完全な関数はかなり長いので、私はその中で最も関連性の高いビットであると私が思うことを共有します:
namespace Company.MySpecial
{
public static class MySpecialQueueProcessor
{
[FunctionName("MySpecialQueueProcessor")]
public static async void Run([QueueTrigger("myspecialqueue")]String transdata,
// various table mappings edited out
ILogger log)
{
MySpecialItem Item = JsonConvert.DeserializeObject<MySpecialItem>(transdata);
log.LogInformation($"[GROOVE-QUEUE] {Item.email} Queue processor activated");
return;
}
}
}
オペレーターasync
が必要ないくつかのタスクを呼び出す必要があるため、そこにありますが、なしではawait
使用await
できませんasync
。例:
await MyData.AddAsync (Item);
そして、テーブルからデータを取得します:
do
{
var page = await GrooveProductMappings.ExecuteQuerySegmentedAsync(productQuery, ct);
ct = page.ContinuationToken;
Matches.AddRange(page.Results);
}
while (ct != null);
これが私の問題の一部であるかどうかはわかりません。
私のコードに何か問題があるのでしょうか、それともそれが機能するために必要な、Azureで実行していない他の何かがありますか?
3つの質問があります。
Application Insightsの「ライブメトリック」でエラーを確認することもできます(関数に構成されている場合)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加