簡體   English   中英

在表中插入或更新記錄時觸發Azure Webjob

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM