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

Start-AzureStorageBlobCopy

开始复制 Blob。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧 Azure 资源。 创建新的资源时,不建议使用此旧版 PowerShell 模块,因为 ASM 计划停用。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是推荐的 PowerShell 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

Start-AzureStorageBlobCopy
     [-SrcBlob] <String>
     -SrcContainer <String>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -CloudBlob <CloudBlob>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -CloudBlob <CloudBlob>
     -DestCloudBlob <CloudBlob>
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -CloudBlobContainer <CloudBlobContainer>
     [-SrcBlob] <String>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -SrcShareName <String>
     -SrcFilePath <String>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -SrcShare <CloudFileShare>
     -SrcFilePath <String>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -SrcDir <CloudFileDirectory>
     -SrcFilePath <String>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -SrcFile <CloudFile>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -SrcFile <CloudFile>
     -DestCloudBlob <CloudBlob>
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobCopy
     -AbsoluteUri <String>
     -DestContainer <String>
     -DestBlob <String>
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-Force]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

说明

Start-AzureStorageBlobCopy cmdlet 开始复制 Blob。

示例

示例 1:复制命名 Blob

C:\PS>Start-AzureStorageBlobCopy -SrcBlob "ContosoPlanning2015" -DestContainer "ContosoArchives" -SrcContainer "ContosoUploads"

此命令从名为 ContosoUploads 的容器启动名为 ContosoPlanning2015 的 blob 复制到名为 ContosoArchives 的容器。

示例 2:获取用于指定要复制的 Blob 的容器

C:\PS>Get-AzureStorageContainer -Name "ContosoUploads" | Start-AzureStorageBlobCopy -SrcBlob "ContosoPlanning2015" -DestContainer "ContosoArchives"

此命令使用 Get-AzureStorageContainer cmdlet 获取名为 ContosoUploads 的容器,然后使用管道运算符将容器传递到当前 cmdlet。 该 cmdlet 启动名为 ContosoPlanning2015 的 Blob 的复制操作。 前面的 cmdlet 提供源容器。 DestContainer 参数将 ContosoArchives 指定为目标容器。

示例 3:获取要复制的 Blob

C:\PS>Get-AzureStorageBlob -Container "ContosoUploads" | Start-AzureStorageBlobCopy -DestContainer "ContosoArchives"

此命令使用 Get-AzureStorageBlob cmdlet 获取名为 ContosoUploads 的容器中的 blob,然后使用管道运算符将结果传递给当前 cmdlet。 该 cmdlet 启动 blob 到名为 ContosoArchives 的容器的复制操作。

示例 4:复制指定为对象的 Blob

C:\PS>$SrcBlob = Get-AzureStorageBlob -Container "ContosoUploads" -Blob "ContosoPlanning2015"
C:\PS> $DestBlob = Get-AzureStorageBlob -Container "ContosoArchives" -Blob "ContosoPlanning2015Archived"
C:\PS> Start-AzureStorageBlobCopy -ICloudBlob $SrcBlob.ICloudBlob -DestICloudBlob $DestBlob.ICloudBlob

第一个命令在名为 ContosoUploads 的容器中获取名为 ContosoPlanning2015 的 Blob。 该命令将该对象存储在$SrcBlob变量中。

第二个命令在名为 ContosoArchives 的容器中获取名为 ContosoPlanning2015Archived 的 Blob。 该命令将该对象存储在$DestBlob变量中。

最后一个命令启动从源容器到目标容器的复制操作。 该命令使用标准点表示法为$SrcBlob和$DestBlob blob 指定 ICloudBlob 对象。

示例 5:从 URI 复制 Blob

C:\PS>$Context = New-AzureStorageContext -StorageAccountName "ContosoGeneral" -StorageAccountKey "< Storage Key for ContosoGeneral ends with == >"
C:\PS> Start-AzureStorageBlobCopy -AbsoluteUri "http://www.contosointernal.com/planning" -DestContainer "ContosoArchive" -DestBlob "ContosoPlanning2015" -DestContext $Context

此命令为名为 ContosoGeneral 的帐户创建一个上下文,该帐户使用指定的密钥,然后将该密钥存储在$Context变量中。

第二个命令将文件从指定的 URI 复制到名为 ContosoArchive 的容器中名为 ContosoPlanning 的 Blob。 该命令在存储在$Context的上下文中启动复制操作。

参数

-AbsoluteUri

指定要复制到Azure 存储 blob 的文件的绝对 URI。

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

-ClientTimeoutPerRequest

指定一个服务请求的客户端超时间隔(以秒为单位)。 如果上一次调用在指定的时间间隔内失败,则此 cmdlet 将重试请求。 如果此 cmdlet 在间隔过前未收到成功的响应,则此 cmdlet 将返回错误。

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

-CloudBlob

Azure 存储客户端库指定 CloudBlob 对象。 若要获取 CloudBlob 对象,请使用 Get-AzureStorageBlob cmdlet。

类型:CloudBlob
别名:SrcICloudBlob, SrcCloudBlob, ICloudBlob, SourceICloudBlob, SourceCloudBlob
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-CloudBlobContainer

从 Azure 存储 客户端库指定 CloudBlobContainer 对象。 此 cmdlet 从此参数指定的容器复制 Blob。 若要获取 CloudBlobContainer 对象,请使用 Get-AzureStorageContainer cmdlet。

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

-ConcurrentTaskCount

指定最大并发网络调用数。 可以使用此参数通过指定并发网络调用的最大数目来限制本地 CPU 和带宽使用量的并发性。 指定的值是绝对计数,不乘以核心计数。 此参数可帮助减少低带宽环境中的网络连接问题,例如每秒 100 千比特。 默认值为 10。

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

-Confirm

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

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

-Context

指定 Azure 存储上下文。 若要获取存储上下文,请使用 New-AzureStorageContext cmdlet。

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

-DestBlob

指定目标 Blob 的名称。

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

-DestCloudBlob

指定目标 CloudBlob 对象

类型:CloudBlob
别名:DestICloudBlob, DestinationCloudBlob, DestinationICloudBlob
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DestContainer

指定目标容器的名称。

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

-DestContext

指定 Azure 存储上下文。 若要获取存储上下文,请使用 New-AzureStorageContext cmdlet。

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

-Force

指示此 cmdlet 覆盖目标 Blob,而不提示你进行确认。

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

-ServerTimeoutPerRequest

指定请求的服务端超时间隔(以秒为单位)。 如果服务处理请求之前指定的间隔已过,则存储服务将返回错误。

类型:Int32
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

-SrcDir

Azure 存储 客户端库指定 CloudFileDirectory 对象。

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

-SrcFile

从Azure 存储客户端库指定 CloudFile 对象。 可以创建它或使用 Get-AzureStorageFile cmdlet。

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

-SrcFilePath

指定源目录或源共享的源文件相对路径。

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

-SrcShare

Azure 存储客户端库指定 CloudFileShare 对象。 可以创建它或使用 Get-AzureStorageShare cmdlet。

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

-SrcShareName

指定源共享名称。

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

-WhatIf

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

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