如何解决Azure Blob 更改源缺少 Blob 追加事件
我正在试用 Azure Blob 更改提要功能,但它对我来说使用附加 Blob 的行为很奇怪:提要中缺少追加事件。
我的场景是:
-
创建存储帐户,启用更改提要功能: Change feed enabled
-
如果不存在则创建 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); } }
-
在单独的控制台应用中获取更改提要条目。
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 创建相对应的单个更改提要事件,提要中缺少后续追加,但是输入已成功附加到 blob资源。
问题是为什么它会这样工作?我没有发现关于文档中更改提要的附加 Blob blob 类型有什么特别之处。
解决方法
目前,不支持 append event
的 append blob
。
根据 this doc,仅支持以下 event types
:
-
Blob 创建
-
BlobDeleted
-
BlobPropertiesUpdated
-
已创建 BlobSnapshot
并且在 Azure.Storage.Blobs.ChangeFeed
包的 source code 中,没有 append event type
。
已提交其中的 feature request,希望可以在以后的版本中添加。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。