开始一个 Nodejs 项目,我需要检索特定 Blob 的最新快照(及其元数据)。我正在使用适用于 JavaScript 的 Azure Blob 存储客户端库 v12。
我不确定,但我只找到了一个链接到 ContainerClient 的方法,允许列出容器内的所有 blob 和快照。我认为这对我来说在性能方面不是很有效。
有没有办法直接获取已知 blob 的最新快照或至少获取所有快照?
//construct of the blob storage connection
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net/`,
sharedKeyCredential
);
//target application container
let containerClient = blobServiceClient.getContainerClient(app);
blobClient = containerClient.getBlobClient(filename); //ok
//blobSnapshots = containerClient.getSnapshots(filename); // nok
最后注释行中的方法肯定不存在,但是是否有等效的方法?
最佳答案
Is there a way to directly get the latest snapshot of a known blob
不幸的是没有。您需要列出 Blob 的所有快照,并根据快照日期/时间按时间顺序对它们进行反向排序,然后选择第一个 Blob。那将是最新的快照。
or at least get all the snapshots ?
您需要调用listBlobsFlat
方法如下 options
:
-
prefix
:这应该是 blob 的名称。 -
includeSnapshots
:该参数的值应该为true。
关于node.js - Blob 存储 Azure 和 javascript,如何列出特定 Blob 的所有快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59768501/