2015-03-31 71 views
1

我有一個由隊列觸發的連續Web作業。 Functions方法接受TextWriter參數,我用它來編寫我的作業的輸出。如何以編程方式讀取天藍色的Web作業日誌

public static void ProcessQueueMessage([QueueTrigger("build")] ProjectTrigger projectInfo, TextWriter log) 

我可以瀏覽azure-jobs-host-archive儲存容器在Azure的門戶網站和查看最新的文件,看看主機的日誌,包含JSON,包括以下路徑以實際日誌中的azure-webjobs-hosts容器。

// ... 
"Arguments": { 
    "projectInfo": "{\"ProjectId\":1}", 
    "log": null 
    }, 
    "Reason": "AutomaticTrigger", 
    "StartTime": "2015-03-31T00:22:33.0447775+00:00", 
    "OutputBlob": { 
    "ContainerName": "azure-webjobs-hosts", 
    "BlobName": "output-logs/06001f0c69064d4289b3501d0064f11c.txt" 
    }, 
// ... 

就這樣,我可以瀏覽到Azure的門戶azure-webjobs-hosts容器並找到BlobName指定的文件。

這很好,但我怎樣才能以編程方式做到這一點?我希望能夠在我的Web應用程序中顯示輸出日誌。如果我在作業運行時知道主機歸檔文件的路徑,我可以將其存儲在SQL中並稍後訪問它。這可能嗎?

+0

這可能是一些東西,但我還沒有找到任何有關如何使用它的文檔。 https://github.com/projectkudu/kudu/wiki/WebJobs-API – jrummell 2015-03-31 02:44:44

回答

1

我沒有找到我一直在尋找確切的答案,但你可以將作業日誌保存到使用BlobAttribute,其中ProjectIdIdProjectTrigger性質的特定BLOB路徑。

public static void ProcessQueueMessage([QueueTrigger("build")] ProjectTrigger projectInfo, 
        [Blob("projecthistory/{ProjectId}/{Id}.txt", FileAccess.Write)] TextWriter log) 
相關問題