Я следую учебному пособию по Pluralsight, и оно немного устарело, поэтому я пытаюсь заполнить пробелы.В нем сказано использовать BlobAttribute для установки имени файла, но я продолжаю получать сообщение о том, что тип или пространство имен не найдено.
Я использую CSX, и я не могу всю жизнь заставить его работать.Когда я копировал строку в приложение с функцией тестирования C #, все работало просто отлично.Я не хочу сейчас переключаться на этот маршрут, потому что он не является частью учебника, и я пытаюсь придерживаться их курса, но они тоже не объясняют этого.Операторы Microsoft.Azure.WebJobs, использующие операторы, были в основном только тем, что я экспериментировал, пытаясь заставить его работать.
Есть идеи, как заставить BlobAttribute работать в CSX?
#r "Newtonsoft.Json"
#r "Microsoft.Azure.WebJobs"
#r "Microsoft.Azure.WebJobs.Extensions"
using System;
using Newtonsoft.Json;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions;
public class Order
{
public string OrderID {get;set;}
public string ProductID {get;set;}
public string Email{get;set;}
public decimal Price {get;set;}
}
public static void Run(Order myQueueItem, ILogger log, IBinder binder)
{
log.LogInformation($"C# Queue trigger function processed:
{myQueueItem.OrderID}");
using(var outputBlob = binder.Bind<TextWriter>(new BlobAttribute($"{myQueueItem.OrderID}.lic")))
{
outputBlob.WriteLine($"OrderID: {myQueueItem.OrderID}");
outputBlob.WriteLine($"ProductID: {myQueueItem.ProductID}");
outputBlob.WriteLine($"Email: {myQueueItem.Email}");
outputBlob.WriteLine($"Price: {myQueueItem.Price}");
outputBlob.WriteLine($"Purchase Date: {DateTime.UtcNow}");
var md5 = System.Security.Cryptography.MD5.Create();
var hash = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(myQueueItem.Email + "secret"));
outputBlob.WriteLine($"Secret Code:
{BitConverter.ToString(hash).Replace("-","")}");
}
}