簡體   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