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

Get-AzureStorageBlob

列出容器中的 Blob。

注意

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

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

语法

Get-AzureStorageBlob
   [[-Blob] <String>]
   [-Container] <String>
   [-MaxCount <Int32>]
   [-ContinuationToken <BlobContinuationToken>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-ConcurrentTaskCount <Int32>]
   [<CommonParameters>]
Get-AzureStorageBlob
   [-Prefix <String>]
   [-Container] <String>
   [-MaxCount <Int32>]
   [-ContinuationToken <BlobContinuationToken>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-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

此命令使用管道获取 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"

此示例使用 MaxCountContinuationToken 参数列出多个批处理中的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 将返回错误。

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

-ConcurrentTaskCount

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

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

-MaxCount

指定此 cmdlet 返回的最大对象数。

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

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

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

输出

AzureStorageBlob

备注

  • 摘要