你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Set-AzStorageBlobContent
将本地文件上传到Azure 存储 blob。
语法
Set-AzStorageBlobContent
[-File] <String>
[-Container] <String>
[-Blob <String>]
[-BlobType <String>]
[-Properties <Hashtable>]
[-Metadata <Hashtable>]
[-Tag <Hashtable>]
[-PremiumPageBlobTier <PremiumPageBlobTier>]
[-StandardBlobTier <String>]
[-EncryptionScope <String>]
[-Force]
[-AsJob]
[-TagCondition <String>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-AzStorageBlobContent
[-File] <String>
[-Blob <String>]
-CloudBlobContainer <CloudBlobContainer>
[-BlobType <String>]
[-Properties <Hashtable>]
[-Metadata <Hashtable>]
[-Tag <Hashtable>]
[-PremiumPageBlobTier <PremiumPageBlobTier>]
[-StandardBlobTier <String>]
[-EncryptionScope <String>]
[-Force]
[-AsJob]
[-TagCondition <String>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-AzStorageBlobContent
[-File] <String>
-CloudBlob <CloudBlob>
[-BlobType <String>]
[-Properties <Hashtable>]
[-Metadata <Hashtable>]
[-Tag <Hashtable>]
[-PremiumPageBlobTier <PremiumPageBlobTier>]
[-StandardBlobTier <String>]
[-EncryptionScope <String>]
[-Force]
[-AsJob]
[-TagCondition <String>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Set-AzStorageBlobContent cmdlet 将本地文件上传到Azure 存储 blob。
示例
示例 1:上传命名文件
Set-AzStorageBlobContent -Container "ContosoUpload" -File ".\PlanningData" -Blob "Planning2015"
此命令将名为 PlanningData 的文件上传到名为 Planning2015 的 Blob。
示例 2:上传当前文件夹下的所有文件
Get-ChildItem -File -Recurse | Set-AzStorageBlobContent -Container "ContosoUploads"
此命令使用核心 Windows PowerShell cmdlet Get-ChildItem 获取当前文件夹和子文件夹中的所有文件,然后使用管道运算符将它们传递到当前 cmdlet。 Set-AzStorageBlobContent cmdlet 将文件上传到名为 ContosoUploads 的容器。
示例 3:覆盖现有 Blob
Get-AzStorageBlob -Container "ContosoUploads" -Blob "Planning2015" | Set-AzStorageBlobContent -File "ContosoPlanning"
此命令使用 Get-AzStorageBlob cmdlet 获取 ContosoUploads 容器中名为 Planning2015 的 Blob,然后将该 Blob 传递到当前 cmdlet。 该命令将上传名为 ContosoPlanning 的文件作为 Planning2015。 此命令未指定 Force 参数。 该命令会提示你进行确认。 如果确认该命令,cmdlet 将覆盖现有 Blob。
示例 4:使用管道将文件上传到容器
Get-AzStorageContainer -Container "ContosoUpload*" | Set-AzStorageBlobContent -File "ContosoPlanning" -Blob "Planning2015"
此命令使用 Get-AzStorageContainer cmdlet 获取以字符串 ContosoUpload 开头的容器,然后将该 blob 传递到当前 cmdlet。 该命令将上传名为 ContosoPlanning 的文件作为 Planning2015。
示例 5:将文件上传到包含元数据和 PremiumPageBlobTier 的页 Blob 作为 P10
$Metadata = @{"key" = "value"; "name" = "test"}
Set-AzStorageBlobContent -File "ContosoPlanning" -Container "ContosoUploads" -Metadata $Metadata -BlobType Page -PremiumPageBlobTier P10
第一个命令创建一个哈希表,其中包含 blob 的元数据,并将该哈希表存储在$Metadata变量中。 第二个命令将名为 ContosoPlanning 的文件上传到名为 ContosoUploads 的容器。 Blob 包括存储在 $Metadata 中的元数据,并将 PremiumPageBlobTier 用作 P10。
示例 6:将文件上传到具有指定 blob 属性的 Blob,并将 StandardBlobTier 设置为 Cool
$filepath = "c:\temp\index.html"
Set-AzStorageBlobContent -File $filepath -Container "contosouploads" -Properties @{"ContentType" = [System.Web.MimeMapping]::GetMimeMapping($filepath); "ContentMD5" = "i727sP7HigloQDsqadNLHw=="} -StandardBlobTier Cool
AccountName: storageaccountname, ContainerName: contosouploads
Name BlobType Length ContentType LastModified AccessTier SnapshotTime IsDeleted VersionId
---- -------- ------ ----------- ------------ ---------- ------------ --------- ---------
index.html BlockBlob 403116 text/html 2020-09-22 08:06:53Z Cool False
此命令将文件 c:\temp\index.html上传到具有指定 blob 属性的名为 contosoupload 的容器,并将 StandardBlobTier 设置为 Cool。 此命令通过 [System.Web.MimeMapping]::GetMimeMapping() API 获取设置为 Blob 属性的 ContentType 值。
示例 7:将文件上传到具有加密范围的 Blob
$blob = Set-AzStorageBlobContent -File "mylocalfile" -Container "mycontainer" -Blob "myblob" -EncryptionScope "myencryptscope"
$blob.BlobProperties.EncryptionScope
myencryptscope
此命令将文件上传到具有加密范围的 Blob。
参数
-AsJob
在后台运行 cmdlet。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Blob
指定 Blob 的名称。 此 cmdlet 将文件上传到此参数指定的Azure 存储 blob。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-BlobType
指定此 cmdlet 上传的 blob 的类型。 此参数的可接受值为:
- 阻止
- 页面
- 附加
默认值为 Block。
类型: | String |
接受的值: | Block, Page, Append |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ClientTimeoutPerRequest
指定一个服务请求的客户端超时间隔(以秒为单位)。 如果上一次调用在指定的时间间隔内失败,则此 cmdlet 将重试请求。 如果此 cmdlet 在间隔过前未收到成功的响应,则此 cmdlet 将返回错误。
类型: | Nullable<T>[Int32] |
别名: | ClientTimeoutPerRequestInSeconds |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-CloudBlob
指定 CloudBlob 对象。 若要获取 CloudBlob 对象,请使用 Get-AzStorageBlob cmdlet。
类型: | CloudBlob |
别名: | ICloudBlob |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-CloudBlobContainer
从 Azure 存储 客户端库指定 CloudBlobContainer 对象。 此 cmdlet 将内容上传到此参数指定的容器中的 Blob。 若要获取 CloudBlobContainer 对象,请使用 Get-AzStorageContainer cmdlet。
类型: | CloudBlobContainer |
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 |
-Container
指定容器的名称。 此 cmdlet 将文件上传到此参数指定的容器中的 Blob。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Context
指定 Azure 存储上下文。 若要获取存储上下文,请使用 New-AzStorageContext cmdlet。 若要在不具有读取权限的情况下使用从 SAS 令牌创建的存储上下文,需要添加 -Force 参数来跳过检查 blob 是否存在。
类型: | IStorageContext |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EncryptionScope
向 Blob 发出请求时要使用的加密范围。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-File
指定要作为 Blob 内容上传的文件的本地文件路径。
类型: | String |
别名: | FullName |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Force
指示此 cmdlet 覆盖现有 Blob,而不提示进行确认。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Metadata
指定上传的 Blob 的元数据。
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PremiumPageBlobTier
页 Blob 层
类型: | PremiumPageBlobTier |
接受的值: | Unknown, P4, P6, P10, P20, P30, P40, P50, P60, P70, P80 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Properties
指定上传的 Blob 的属性。 支持的属性包括:CacheControl、ContentDisposition、ContentEncoding、ContentLanguage、ContentMD5、ContentType。
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ServerTimeoutPerRequest
指定请求的服务端超时间隔(以秒为单位)。 如果服务处理请求之前指定的间隔已过,则存储服务将返回错误。
类型: | Nullable<T>[Int32] |
别名: | ServerTimeoutPerRequestInSeconds |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-StandardBlobTier
块 Blob 层,有效值为热/冷/存档/冷。 请参阅 中的详细信息 https://learn.microsoft.com/azure/storage/blobs/storage-blob-storage-tiers
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Tag
Blob 标记
类型: | Hashtable |
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 |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |