Чтобы преобразовать большие двоичные объекты, скопируйте их в новое расположение с помощью PowerShell, Azure CLI или AzCopy. Вы будете использовать параметры команды, чтобы убедиться, что целевой большой двоичный объект является блочного BLOB-объекта. Все метаданные из исходного большого двоичного объекта копируются в целевой большой двоичный объект.
Преобразование добавочных и страничных BLOB-объектов
Откройте командное окно Windows PowerShell.
Войдите в подписку Azure с помощью команды Подключение-AzAccount и следуйте инструкциям на экране.
Connect-AzAccount
Если удостоверение связано с несколькими подписками, установите активную подписку на подписку учетной записи хранения, содержащей добавленные или страничные BLOB-объекты.
$context = Get-AzSubscription -SubscriptionId '<subscription-id>'
Set-AzContext $context
Замените значение заполнителя <subscription-id>
идентификатором своей подписки.
Создайте контекст учетной записи хранения с помощью команды New-Az служба хранилища Context. -UseConnectedAccount
Включите параметр, чтобы операции с данными выполнялись с помощью учетных данных Microsoft Entra.
$ctx = New-AzStorageContext -StorageAccountName '<storage account name>' -UseConnectedAccount
Используйте команду Copy-Az служба хранилища Blob и задайте для -DestBlobType
параметра значение Block
.
$containerName = '<source container name>'
$srcblobName = '<source append or page blob name>'
$destcontainerName = '<destination container name>'
$destblobName = '<destination block blob name>'
$destTier = '<destination block blob tier>'
Copy-AzStorageBlob -SrcContainer $containerName -SrcBlob $srcblobName -Context $ctx -DestContainer $destcontainerName -DestBlob $destblobName -DestContext $ctx -DestBlobType Block -StandardBlobTier $destTier
Чтобы скопировать моментальный снимок страничного BLOB-объекта в блок больших двоичных объектов, используйте команду Get-Az служба хранилища Blob и Copy-Az служба хранилища Blob с -DestBlobType
параметром asBlock
.
$containerName = '<source container name>'
$srcPageBlobName = '<source page blob name>'
$srcPageBlobSnapshotTime = '<snapshot time of source page blob>'
$destContainerName = '<destination container name>'
$destBlobName = '<destination block blob name>'
$destTier = '<destination block blob tier>'
Get-AzStorageBlob -Container $containerName -Blob $srcPageBlobName -SnapshotTime $srcPageBlobSnapshotTime -Context $ctx | Copy-AzStorageBlob -DestContainer $destContainerName -DestBlob $destBlobName -DestBlobType block -StandardBlobTier $destTier -DestContext $ctx
Совет
Параметр -StandardBlobTier
является необязательным. Если этот параметр опущен, целевой большой двоичный объект определяет его уровень из параметра уровня доступа учетной записи по умолчанию. Чтобы изменить уровень после создания блочного большого двоичного объекта, см . раздел "Изменение уровня большого двоичного объекта".
Сначала откройте Azure Cloud Shell или, если вы установили Azure CLI локально, откройте командное консольное приложение (например, Windows PowerShell).
Примечание.
Если вы используете локальную версию Azure CLI, убедитесь, что вы используете версию 2.44.0 или более позднюю.
Если удостоверение связано с несколькими подписками, установите активную подписку на подписку учетной записи хранения, содержащей добавленные или страничные BLOB-объекты.
az account set --subscription <subscription-id>
Замените значение заполнителя <subscription-id>
идентификатором своей подписки.
Используйте команду az storage blob copy start и задайте --destination-blob-type
для параметра значение blockBlob
.
containerName = '<source container name>'
srcblobName = '<source append or page blob name>'
destcontainerName = '<destination container name>'
destBlobName = '<destination block blob name>'
destTier = '<destination block blob tier>'
az storage blob copy start --account-name $accountName --destination-blob $destBlobName --destination-container $destcontainerName --destination-blob-type BlockBlob --source-blob $srcblobName --source-container $containerName --tier $destTier
Чтобы скопировать моментальный снимок страничного BLOB-объекта в блок больших двоичных объектов, используйте команду az storage blob copy start и задайте --destination-blob-type
параметр blockBlob
вместе с исходным кодом URI моментального снимка BLOB-объектов страницы.
srcPageblobSnapshotUri = '<source page blob snapshot uri>'
destcontainerName = '<destination container name>'
destblobName = '<destination block blob name>'
destTier = '<destination block blob tier>'
az storage blob copy start --account-name $accountName --destination-blob $destBlobName --destination-container $destcontainerName --destination-blob-type BlockBlob --source-uri $srcPageblobSnapshotUri --tier $destTier
Совет
Параметр --tier
является необязательным. Если этот параметр опущен, целевой большой двоичный объект определяет его уровень из параметра уровня доступа учетной записи по умолчанию. Чтобы изменить уровень после создания блочного большого двоичного объекта, см . раздел "Изменение уровня большого двоичного объекта".
Предупреждение
Необязательный --metadata
параметр перезаписывает все существующие метаданные. Таким образом, если вы указываете метаданные с помощью этого параметра, то никакие исходные метаданные из исходного большого двоичного объекта будут скопированы в целевой большой двоичный объект.
Используйте команду azcopy copy. Укажите исходные и конечные пути. Установите для параметра blob-type
значение BlockBlob
.
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
является необязательным. Если этот параметр опущен, целевой большой двоичный объект определяет его уровень из параметра уровня доступа учетной записи по умолчанию. Чтобы изменить уровень после создания блочного большого двоичного объекта, см . раздел "Изменение уровня большого двоичного объекта".
Предупреждение
Необязательный --metadata
параметр перезаписывает все существующие метаданные. Таким образом, если вы указываете метаданные с помощью этого параметра, то никакие исходные метаданные из исходного большого двоичного объекта будут скопированы в целевой большой двоичный объект.
См. также