В ленте изменений больших двоичных объектов Azure отсутствуют события добавления больших двоичных объектов

Я пробую функцию канала изменений BLOB-объектов Azure, и для меня он ведет себя странно с добавлением BLOB-объектов: в фиде отсутствуют события добавления.

Мой сценарий:

  1. Создайте учетную запись хранения, включите функцию подачи изменений: Канал изменений включен

  2. Создайте Append Blob, если он не существует (1), и добавьте в него некоторый ввод (2).

     private void WriteBlob(string input)
     {
         MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input));
    
         try
         {
             if (client == null)
             {                    
                 var credential = new ClientSecretCredential("...", "...");
                 client = new AppendBlobClient(new Uri("..."), credential);
             }
    
             client.CreateIfNotExists(); // (1)
             client.AppendBlock(stream); // (2)
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
         }
     }
    
  3. Получение записей ленты изменений в отдельном консольном приложении.

     public static List<BlobChangeFeedEvent> GetChanges()
     {
         var credential = new ClientSecretCredential("...", "...");
         BlobChangeFeedClient blobChangeFeedClient = new BlobChangeFeedClient(new Uri("..."), credential);
    
         List<BlobChangeFeedEvent> events = new List<BlobChangeFeedEvent>();
         foreach (BlobChangeFeedEvent changeFeedEvent in blobChangeFeedClient.GetChanges())
         {
             events.Add(changeFeedEvent);
         }
         return events;
     }
    

Проблема в том, что после нескольких запусков метода WriteBlob я получаю только одно событие канала изменения, которое соответствует созданию большого двоичного объекта, а последующие добавления отсутствуют в канале, однако входные данные успешно добавляются к ресурсу большого двоичного объекта.

Вопрос в том, почему это так работает? Я не нашел ничего особенного в типе BLOB-объекта Append Blob относительно канала изменений в документах.


person Denis Suhotin    schedule 02.02.2021    source источник
comment
Тип события добавления не поддерживается. Дополнительные сведения см. В ответе ниже. И если ответ полезен, не могли бы вы принять его в качестве ответа согласно эту ссылку? Спасибо.   -  person Ivan Yang    schedule 03.02.2021


Ответы (1)


В настоящее время append event для append blob не поддерживается.

Согласно этот документ, поддерживаются только следующие event types:

  • BlobCreated

  • BlobDeleted

  • BlobPropertiesUpdated

  • BlobSnapshotCreated

И в исходный код пакета Azure.Storage.Blobs.ChangeFeed, append event type.

Отправлен запрос функции этого, надеюсь, он может быть добавлено в будущем выпуске.

person Ivan Yang    schedule 02.02.2021