你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Copy-AzStorageBlob

同步复制 Blob。

语法

Copy-AzStorageBlob
    [-SrcBlob] <String>
    -SrcContainer <String>
    -DestContainer <String>
    [-DestBlob <String>]
    [-DestBlobType <String>]
    [-StandardBlobTier <String>]
    [-RehydratePriority <RehydratePriority>]
    [-EncryptionScope <String>]
    [-Context <IStorageContext>]
    [-DestContext <IStorageContext>]
    [-Force]
    [-AsJob]
    [-TagCondition <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Copy-AzStorageBlob
    [-BlobBaseClient <BlobBaseClient>]
    -DestContainer <String>
    [-DestBlob <String>]
    [-DestBlobType <String>]
    [-StandardBlobTier <String>]
    [-RehydratePriority <RehydratePriority>]
    [-EncryptionScope <String>]
    [-Context <IStorageContext>]
    [-DestContext <IStorageContext>]
    [-Force]
    [-AsJob]
    [-TagCondition <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Copy-AzStorageBlob
    -AbsoluteUri <String>
    -DestContainer <String>
    -DestBlob <String>
    [-DestBlobType <String>]
    [-StandardBlobTier <String>]
    [-RehydratePriority <RehydratePriority>]
    [-EncryptionScope <String>]
    [-Context <IStorageContext>]
    [-DestContext <IStorageContext>]
    [-Force]
    [-AsJob]
    [-TagCondition <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Copy-AzStorageBlob cmdlet 同步复制 blob,目前仅支持块 Blob。

示例

示例 1:将命名 Blob 复制到另一个 Blob

$destBlob = Copy-AzStorageBlob -SrcContainer "sourcecontainername" -SrcBlob "srcblobname" -DestContainer "destcontainername" -DestBlob "destblobname"

此命令使用新的 Blob 名称将 blob 从源容器复制到目标容器。

示例 2:从 Blob 对象复制 Blob

$srcBlob = Get-AzStorageBlob -Container $containerName -Blob $blobName  -Context $ctx 
$destBlob =  $srcBlob | Copy-AzStorageBlob  -DestContainer "destcontainername" -DestBlob "destblobname"

此命令使用新的 Blob 名称将 blob 从源 blob 对象复制到目标容器。

示例 3:从 Blob URI 复制 Blob

$srcBlobUri = New-AzStorageBlobSASToken -Container $srcContainerName -Blob $srcBlobName -Permission rt -ExpiryTime (Get-Date).AddDays(7) -FullUri 
$destBlob = Copy-AzStorageBlob -AbsoluteUri $srcBlobUri -DestContainer "destcontainername" -DestBlob "destblobname"

第一个命令使用权限“rt”的 sas 令牌创建源 blob 的 blob URI。 第二个命令将源 Blob URI 复制到目标 Blob。

示例 4:更新块 Blob 加密范围

$blob = Copy-AzStorageBlob -SrcContainer $containerName -SrcBlob $blobname -DestContainer $containername -EncryptionScope $newScopeName -Force

此命令通过使用新的加密范围将其复制到自身来更新块 Blob 加密范围。

示例 5:将 Blob 复制到新的追加 blob

$srcBlob = Get-AzStorageBlob -Container $containerName -Blob $blobName  -Context $ctx 
$destBlob = Copy-AzStorageBlob -SrcContainer "sourcecontainername" -SrcBlob "srcblobname" -DestContainer "destcontainername" -DestBlob "destblobname" -DestBlobType "Append" -DestContext $destCtx

参数

-AbsoluteUri

源 Blob URI

类型:String
别名:SrcUri, SourceUri
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-AsJob

在后台运行 cmdlet

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BlobBaseClient

BlobBaseClient 对象

类型:BlobBaseClient
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Context

源Azure 存储上下文对象

类型:IStorageContext
别名:SrcContext, SourceContext
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestBlob

目标 blob 名称

类型:String
别名:DestinationBlob
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DestBlobType

目标 Blob 类型

类型:String
接受的值:Block, Page, Append
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestContainer

目标容器名称

类型:String
别名:DestinationContainer
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DestContext

目标存储上下文对象

类型:IStorageContext
别名:DestinationContext
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EncryptionScope

向 dest blob 发出请求时要使用的加密范围。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Force

强制覆盖现有 Blob 或文件

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RehydratePriority

块 Blob RehydratePriority。 指示用于解除存档 Blob 冻结的优先级。 有效值为 High/Standard。

类型:RehydratePriority
接受的值:Standard, High
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SrcBlob

Blob 名称

类型:String
别名:SourceBlob
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-SrcContainer

源容器名称

类型:String
别名:SourceContainer
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-StandardBlobTier

块 Blob 层,有效值为热/冷/存档/冷。 请参阅 中的详细信息 https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-storage-tiers

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TagCondition

用于检查匹配条件的可选标记表达式语句。 Blob 标记与给定表达式不匹配时,blob 请求将失败。请参阅详细信息。https://learn.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations#tags-conditional-operations

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

BlobBaseClient

String

IStorageContext

输出

AzureStorageBlob