Я пытаюсь создать функцию Azure. Локально я хочу иметь возможность протестировать свою функцию перед ее развертыванием. Я разрабатываю MacOS 11.2.3 с использованием VS Code. Я использую Azurite в качестве локального хранилища эмулятор, работающий в Docker. Я могу подключиться к локальному эмулятору и увидеть свои очереди и хранилище. Приложение «Мои функции» использует netcoreapp3.1 и является приложением «Функции версии 3».
Мой триггер — это новая полезная нагрузка, полученная очередью. Мой триггер работает просто отлично, и когда я записываю свои данные в таблицу хранилища Azure, я вижу RowKey, PartitionKey и Timestamp. Я не вижу никаких данных, которые я создал. Вот мой код:
public static class MyFunction
{
[FunctionName("MyFunction")]
[return: Table("mytable")]
public static MyObject Run([QueueTrigger("myqueue")]string queueItem, ILogger log)
{
log.LogInformation($"C# Queue trigger function processed");
var myObject = JsonConvert.DeserializeObject<MyObject>(queueItem);
log.LogInformation(JsonConvert.SerializeObject(myObject));
return myObject;
}
}
Вот MyObject.cs
using System;
using Microsoft.WindowsAzure.Storage.Table;
namespace MyProject.models
{
public sealed class MyObject : TableEntity
{
public MyObject(string myProperty)
{
string PartitionMonth = DateTime.Now.ToMonthName();
string PartitionYear = DateTime.Now.Year.ToString();
PartitionKey = $"{PartitionMonth}-{PartitionYear}";
RowKey = Guid.NewGuid().ToString();
MyProperty = myProperty;
}
public string MyProperty { get; }
}
}
Проблема в том, что я не вижу создания столбца MyProperty. У моей полезной нагрузки JSON, переданной в очередь, она есть, я вижу, что она зарегистрирована в регистраторе, я просто не вижу столбец в Azure Storage Explorer. Я вижу строку, созданную каждый раз, когда я запускаю свою функцию. Пожалуйста, помогите мне понять, почему я не вижу свои данные.