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

Start-AzureStorageBlobCopy

开始复制 Blob。

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

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

说明

Start-Azure存储BlobCopy 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-Azure存储Container cmdlet 获取名为 ContosoUploads 的容器,然后使用管道运算符将容器传递到当前 cmdlet。 该 cmdlet 启动名为 ContosoPlanning2015 的 Blob 的复制操作。 前面的 cmdlet 提供源容器。 DestContainer 参数将 ContosoArchives 指定为目标容器。

示例 3:获取容器中的所有 Blob 并复制它们

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

此命令使用 Get-Azure存储Blob 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 将返回错误。

类型:Nullable<T>[Int32]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CloudBlob

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

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

-CloudBlobContainer

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

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

-ConcurrentTaskCount

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

类型:Nullable<T>[Int32]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

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

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

-Context

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

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

-DestCloudBlob

指定目标 CloudBlob 对象

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

-DestContainer

指定目标容器的名称。

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

-DestContext

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

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

-Force

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

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

-PremiumPageBlobTier

高级版页 Blob 层

类型:PremiumPageBlobTier
接受的值:Unknown, P4, P6, P10, P20, P30, P40, P50, P60
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServerTimeoutPerRequest

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

类型:Nullable<T>[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-Azure存储File cmdlet。

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

-SrcFilePath

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

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

-SrcShare

Azure 存储客户端库指定 CloudFileShare 对象。 可以创建它或使用 Get-Azure存储Share 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

输入

CloudBlob

CloudBlobContainer

CloudFile

参数:SrcFile (ByValue)

String

IStorageContext

输出

AzureStorageBlob