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

Set-AzureStorageBlobContent

将本地文件上传到 Azure 存储 Blob。

注意

本文档中引用的 cmdlet 用于管理使用服务管理 API 的旧式 Azure 资源。 若要了解用于管理 Azure 资源管理器资源的 cmdlet,请参阅 Az PowerShell 模块

语法

Set-AzureStorageBlobContent
   [-File] <String>
   [-Container] <String>
   [-Blob <String>]
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-Force]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureStorageBlobContent
   [-File] <String>
   [-Blob <String>]
   -CloudBlobContainer <CloudBlobContainer>
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-Force]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureStorageBlobContent
   [-File] <String>
   -CloudBlob <CloudBlob>
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-Force]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureStorageBlobContent cmdlet 将本地文件上传到 Azure 存储 Blob。

示例

示例 1:上传命名文件

PS C:\>Set-AzureStorageBlobContent -Container "ContosoUpload" -File ".\PlanningData" -Blob "Planning2015"

此命令将名为 PlanningData 的文件上传到名为 Planning2015 的 Blob。

示例 2:上传当前文件夹下的所有文件

PS C:\>Get-ChildItem -File -Recurse | Set-AzureStorageBlobContent -Container "ContosoUploads"

此命令使用核心 Windows PowerShell cmdlet Get-ChildItem 获取当前文件夹和子文件夹中的所有文件,然后使用管道运算符将它们传递到当前 cmdlet。 Set-AzureStorageBlobContent cmdlet 将文件上传到名为 ContosoUploads 的容器。

示例 3:覆盖现有 Blob

PS C:\>Get-AzureStorageBlob -Container "ContosoUploads" -Blob "Planning2015" | Set-AzureStorageBlobContent -File "ContosoPlanning"

此命令使用 Get-AzureStorageBlob cmdlet 获取 ContosoUploads 容器中名为 Planning2015 的 Blob,然后将该 Blob 传递到当前 cmdlet。 该命令将上传名为 ContosoPlanning 的文件作为 Planning2015。 此命令未指定 Force 参数。 该命令会提示你进行确认。 如果确认该命令,cmdlet 将覆盖现有 Blob。

示例 4:使用管道将文件上传到容器

PS C:\>Get-AzureStorageContainer -Container "ContosoUpload*" | Set-AzureStorageBlobContent -File "ContosoPlanning" -Blob "Planning2015"

此命令使用 Get-AzureStorageContainer cmdlet 获取以字符串 ContosoUpload 开头的容器,然后将该 Blob 传递到当前 cmdlet。 该命令将上传名为 ContosoPlanning 的文件作为 Planning2015。

示例 5:上传文件和元数据

PS C:\>$Metadata = @{"key" = "value"; "name" = "test"}
PS C:\> Set-AzureStorageBlobContent -File "ContosoPlanning" -Container "ContosoUploads" -Metadata $Metadata

第一个命令创建一个哈希表,其中包含 blob 的元数据,并将该哈希表存储在$Metadata变量中。

第二个命令将名为 ContosoPlanning 的文件上传到名为 ContosoUploads 的容器。 blob 包括存储在$Metadata中的元数据。

参数

-Blob

指定 Blob 的名称。 此 cmdlet 将文件上传到此参数指定的 Azure 存储 Blob。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BlobType

指定此 cmdlet 上传的 blob 的类型。 此参数的可接受值为:

  • 阻止
  • 页面

默认值为 Block。

Type:String
Accepted values:Block, Page, Append
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClientTimeoutPerRequest

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CloudBlob

指定 CloudBlob 对象。 若要获取 CloudBlob 对象,请使用 Get-AzureStorageBlob cmdlet。

Type:CloudBlob
Aliases:ICloudBlob
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CloudBlobContainer

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

Type:CloudBlobContainer
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ConcurrentTaskCount

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Container

指定容器的名称。 此 cmdlet 将文件上传到此参数指定的容器中的 Blob。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Context

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

Type:IStorageContext
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-File

指定要作为 Blob 内容上传的文件的本地文件路径。

Type:String
Aliases:FullName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Force

指示此 cmdlet 覆盖现有 Blob,而不提示进行确认。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Metadata

指定上传的 Blob 的元数据。

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Properties

指定上传的 Blob 的属性。

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerTimeoutPerRequest

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False