你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Get-AzureStorageBlob
列出容器中的 Blob。
警告
AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可运行,但不再受到维护或支持,任何继续使用的行为都由用户自行决定并自行承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
Get-AzureStorageBlob
[[-Blob] <String>]
[-Container] <String>
[-IncludeDeleted]
[-MaxCount <Int32>]
[-ContinuationToken <BlobContinuationToken>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[<CommonParameters>]
Get-AzureStorageBlob
[-Prefix <String>]
[-Container] <String>
[-IncludeDeleted]
[-MaxCount <Int32>]
[-ContinuationToken <BlobContinuationToken>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[<CommonParameters>]
说明
Get-AzureStorageBlob cmdlet 列出 Azure 存储帐户中指定容器中的 Blob。
示例
示例 1:按 Blob 名称获取 Blob
PS C:\>Get-AzureStorageBlob -Container "ContainerName" -Blob blob*
此命令使用 blob 名称和通配符来获取 Blob。
示例 2:使用管道获取容器中的 Blob
PS C:\>Get-AzureStorageContainer -Name container* | Get-AzureStorageBlob -IncludeDeleted
Container Uri: https://storageaccountname.blob.core.windows.net/container1
Name BlobType Length ContentType LastModified AccessTier SnapshotTime IsDeleted
---- -------- ------ ----------- ------------ ---------- ------------ ---------
test1 BlockBlob 403116 application/octet-stream 2017-11-08 07:53:19Z 2017-11-08 08:19:32Z True
test1 BlockBlob 403116 application/octet-stream 2017-11-08 09:00:29Z True
test2 BlockBlob 403116 application/octet-stream 2017-11-08 07:53:00Z False
此命令使用管道获取容器中的所有 Blob(包括已删除状态中的 Blob)。
示例 3:按名称前缀获取 Blob
PS C:\>Get-AzureStorageBlob -Container "ContainerName" -Prefix "blob"
此命令使用名称前缀来获取 Blob。
示例 4:列出多个批中的 Blob
PS C:\>$MaxReturn = 10000
PS C:\> $ContainerName = "abc"
PS C:\> $Total = 0
PS C:\> $Token = $Null
PS C:\> do
{
$Blobs = Get-AzureStorageBlob -Container $ContainerName -MaxCount $MaxReturn -ContinuationToken $Token
$Total += $Blobs.Count
if($Blobs.Length -le 0) { Break;}
$Token = $Blobs[$blobs.Count -1].ContinuationToken;
}
While ($Token -ne $Null)
PS C:\> Echo "Total $Total blobs in container $ContainerName"
此示例使用 MaxCount 和 ContinuationToken 参数列出多个批处理中的Azure 存储 blob。
前四个命令将值分配给在示例中要使用的变量。
第五个命令指定 Do-While 语句,该语句使用 Get-AzureStorageBlob cmdlet 获取 Blob。
该语句包括存储在$Token变量中的延续标记。
$Token循环运行时更改值。
要了解详情,请键入 Get-Help About_Do
。
最后一个命令使用 Echo 命令显示总计。
参数
-Blob
指定可用于通配符搜索的名称或名称模式。 如果未指定 Blob 名称,则 cmdlet 会列出指定容器中的所有 Blob。 如果为此参数指定了值,则 cmdlet 将列出所有与此参数匹配的名称的 blob。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ClientTimeoutPerRequest
指定一个服务请求的客户端超时间隔(以秒为单位)。 如果上一次调用在指定的时间间隔内失败,则此 cmdlet 将重试请求。 如果此 cmdlet 在间隔过前未收到成功的响应,则此 cmdlet 将返回错误。
类型: | Nullable<T>[Int32] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ConcurrentTaskCount
指定最大并发网络调用数。 可以使用此参数通过指定并发网络调用的最大数目来限制本地 CPU 和带宽使用量的并发性。 指定的值是绝对计数,不乘以核心计数。 此参数可帮助减少低带宽环境中的网络连接问题,例如每秒 100 千比特。 默认值为 10。
类型: | Nullable<T>[Int32] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Container
指定容器的名称。
类型: | String |
别名: | N, Name |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Context
指定要从中获取 Blob 列表的 Azure 存储帐户。 可以使用 New-AzureStorageContext cmdlet 创建存储上下文。
类型: | IStorageContext |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ContinuationToken
指定 Blob 列表的延续标记。 使用此参数和 MaxCount 参数列出多个批处理中的 Blob。
类型: | BlobContinuationToken |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-IncludeDeleted
包括已删除的 Blob,默认情况下,获取 Blob 不包括已删除的 Blob。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MaxCount
指定此 cmdlet 返回的最大对象数。
类型: | Nullable<T>[Int32] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Prefix
指定要获取的 Blob 名称的前缀。 此参数不支持使用正则表达式或通配符进行搜索。 这意味着,如果容器只有名为“My”、“MyBlob1”和“MyBlob2”的 Blob,并且你指定了“-Prefix My*”,则 cmdlet 将不返回任何 blob。 但是,如果指定“-Prefix My”,cmdlet 将返回“My”、“MyBlob1”和“MyBlob2”。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ServerTimeoutPerRequest
指定请求的服务端超时间隔(以秒为单位)。 如果服务处理请求之前指定的间隔已过,则存储服务将返回错误。
类型: | Nullable<T>[Int32] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |