Azure Blob 更改源缺少 blob 追加事件
Azure Blob Change Feed missing blob append events
我正在试用 Azure Blob 更改提要功能,它对我来说使用附加 Blob 时表现得很奇怪:提要中缺少附加事件。
我的场景是:
创建存储帐户,启用更改源功能:
Change feed enabled
如果不存在则创建附加 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 blob
的 append event
。
根据 this doc,仅支持以下 event types
:
BlobCreated
BlobDeleted
BlobPropertiesUpdated
BlobSnapshotCreated
而在Azure.Storage.Blobs.ChangeFeed
包的source code中,没有append event type
。
其中一个feature request已提交,希望以后的版本中能加上。
我正在试用 Azure Blob 更改提要功能,它对我来说使用附加 Blob 时表现得很奇怪:提要中缺少附加事件。
我的场景是:
创建存储帐户,启用更改源功能: Change feed enabled
如果不存在则创建附加 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 blob
的 append event
。
根据 this doc,仅支持以下 event types
:
BlobCreated
BlobDeleted
BlobPropertiesUpdated
BlobSnapshotCreated
而在Azure.Storage.Blobs.ChangeFeed
包的source code中,没有append event type
。
其中一个feature request已提交,希望以后的版本中能加上。