[英]Azure Webjob trigger on insert or update record in table
我想在Azure表存儲中的任何記錄的插入或更新時獲取觸發器。 為此,我用以下方法創建了一個天藍色的webjob ...
public static async Task ReadTableEntity(
[QueueTrigger("inputqueue")] Contact contactInQueue,
[Table("Contact", "ContactId", "CityId")] Contact contactInTable, TextWriter logger)
{
logger.WriteLine("triggered");
}
但是在更新表中的任何記錄或插入新記錄后,不會調用上述方法。
我想獲得上面的方法在插入或更新表中的任何記錄時調用。
請糾正我哪里我錯了。
此觸發器無法正常工作。 對於這種情況,它將需要某種不存在的“表觸發器”。
從文檔:
一些代碼片段顯示了在手動調用的函數中使用的Table屬性,也就是說,沒有使用觸發器屬性之一。
用外行人的話來說:沒有人聽您對存儲表進行任何更改。 在插入或更新表存儲記錄后,需要觸發此調用。
在您的Web作業中,您可以添加以下內容(來自文檔 )來觸發您的方法:
public class Program
{
static void Main(string[] args)
{
JobHost host = new JobHost();
host.Call(typeof(Program).GetMethod("CreateQueueMessage"), new { value = "Hello world!" });
}
[NoAutomaticTrigger]
public static void CreateQueueMessage(
TextWriter logger,
string value,
[Queue("outputqueue")] out string message)
{
message = value;
logger.WriteLine("Creating queue message: ", message);
}
}
眾所周知,Azure WebJobs表觸發器存在類似的問題 。 另外,有人發布了功能請求問題“ 為Azure表存儲添加觸發器” 。 我將報告此功能請求,您可以嘗試按照本教程來構建自己的綁定擴展,或者按照Mark C.的解決方案手動觸發Azure Table Storage中的插入/更新記錄,以解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.