我正在創建一個Azure WebJob控制檯應用程序,用於調整上傳到blob存儲的圖像大小。當在線跟隨任何代碼示例時,我無法引用和使用BlobInput和BlobOutput輸入參數屬性。我正在使用NuGet軟件包Microsoft.Azure.Jobs 0.3.0-beta(和Microsoft.Azure.Jobs.Core)。Azure WebJob的BlobInput和BlobOutput類在哪裏?
哪個命名空間BlogInput和BlobOutput中發現了什麼?我需要另一個NuGet包嗎?
這裏是我的代碼不編譯,因爲它不能解析BlobInput和BlobOutput:
using Microsoft.Azure.Jobs;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
JobHost host = new JobHost();
host.RunAndBlock();
}
public static void SquishNewlyUploadedPNGs([BlobInput("input/{name}")] Stream input, [BlobOutput("output/{name}")] Stream output)
{
//...
}
}
}
那些屬性,所以類型名稱應該是BlobInputAttribute,BlobOutputAttribute。應該位於Microsoft.WindowsAzure.Jobs命名空間中的Microsoft.WindowsAzure.Jobs.dll中。或者至少他們曾經在那裏。嘗試打開JustDcompile中的所有Jobs sdk dll並搜索它們。 – Will
當我反編譯Microsoft.Azure.Jobs.dll這些屬性沒有在哪裏可以找到。這是來自最新版本的NuGet包0.3.0-beta的程序集。如果我使用一個較舊的軟件包,比如說0.2.0-alpha,那麼這個程序集就叫做Microsoft.WindowsAzure.Jobs.dll,並且它們正如預期那樣。因此,從0.2.0升級到0.3.0不僅會將程序集名稱從Microsoft.WindowsAzure.Jobs重新命名爲Microsoft.Azure.Jobs,還會丟失BlogInputAttribute和BlobOutputAttribute。我想,一個選擇是使用0.2.2,但我寧願學習使用使用當前版本 –
有趣的是我看到Microsoft.Azure.Jobs.dll包含BlobAttribute和BlobTriggerAttribute WebJobs。後者在程序集中被描述爲「表示將參數綁定到Azure Blob的屬性,導致在上傳blob時運行該方法」。我猜這是BlobInputAttribute的後裔,也許MS仍在玩弄名字。 –