繁体   English   中英

如何从 Azure Append Blob 转换为 Azure Block Blob

[英]How to convert from Azure Append Blob to Azure Block Blob

他们的 any 是从 Append Blob 转换为 Block Blob。

问候 C

它们是否可以从 Append Blob 转换为 Block Blob 。

一旦 blob 被创建,它的类型就不能改变,并且只能通过使用适合该 blob 类型的操作来更新它,即将块或块列表写入块 blob,将块附加到附加 blob,以及将页面写入页面 blob。

更多信息请参考这个链接: Understanding Block Blobs, Append Blobs, and Page Blobs

对于 blob 转换,我使用的是

--blob-type=BlockBlob 

azcopy.exe 语句末尾的选项。 到目前为止,它运行良好。

祝你好运!

它们是否可以从 Append Blob 转换为 Block Blob 。

不允许在 blob 类型之间进行自动转换。 您需要做的是下载 Blob 并将其重新上传为 Block Blob。

鉴于:我有源 blob,它是附加 blob
并且:我必须将源作为块 blob 复制到新的 blob 容器
时间:我使用 CopyBlobToBlobckBlobContainer 函数
然后:目标容器将具有与源相同的 blob,但与块 blob 相同。

    public void CopyBlobToBlobckBlobContainer(string sourceBlobName)
    {
        var sourceContainerClient = new BlobContainerClient(sourceConnectionString, BlobContainerName);
        var destinationContainerClient = new BlobContainerClient(destinationConnectionString, OutBlobContainerName);
        destinationContainerClient.CreateIfNotExists();
        
        var sourceBlobClient = sourceContainerClient.GetBlockBlobClient(sourceBlobName);
        var sourceUri = sourceBlobClient.GenerateSasUri(BlobSasPermissions.Read, ExpiryOffset);

        var destBlobClient = destinationContainerClient.GetBlockBlobClient(sourceBlobName);
        var result = destBlobClient.SyncUploadFromUri(sourceUri, overwrite: true);
        var response = result.GetRawResponse();
        if (response.Status != 201) throw new BlobCopyException(response.ReasonPhrase);
    }

在 azure cli 上使用以下命令。

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<append-or-page-blob-name>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<name-of-new-block-blob>' --blob-type BlockBlob --block-blob-tier <destination-tier>

--block-blob-tier 参数是可选的。 如果省略该参数,则目标 blob 会根据默认帐户访问层设置推断其层。 若要在创建块 blob 后更改层,请参阅更改 blob 的层。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM