Partilhar via


Get-AzStorageBlob

Lista blobs em um contêiner.

Sintaxe

Get-AzStorageBlob
   [[-Blob] <String>]
   [-Container] <String>
   [-IncludeDeleted]
   [-IncludeTag]
   [-MaxCount <Int32>]
   [-ContinuationToken <BlobContinuationToken>]
   [-TagCondition <String>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [<CommonParameters>]
Get-AzStorageBlob
   [-Blob] <String>
   [-Container] <String>
   [-IncludeDeleted]
   [-IncludeTag]
   -SnapshotTime <DateTimeOffset>
   [-MaxCount <Int32>]
   [-ContinuationToken <BlobContinuationToken>]
   [-TagCondition <String>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [<CommonParameters>]
Get-AzStorageBlob
   [-Blob] <String>
   [-Container] <String>
   [-IncludeDeleted]
   [-IncludeTag]
   -VersionId <String>
   [-MaxCount <Int32>]
   [-ContinuationToken <BlobContinuationToken>]
   [-TagCondition <String>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [<CommonParameters>]
Get-AzStorageBlob
   [-Prefix <String>]
   [-Container] <String>
   [-IncludeDeleted]
   [-IncludeVersion]
   [-IncludeTag]
   [-MaxCount <Int32>]
   [-ContinuationToken <BlobContinuationToken>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [<CommonParameters>]

Description

O cmdlet Get-AzStorageBlob lista blobs no contêiner especificado em uma conta de armazenamento do Azure.

Exemplos

Exemplo 1: Obter um blob pelo nome do blob

Get-AzStorageBlob -Container "ContainerName" -Blob blob*

Este comando usa um nome de blob e um curinga para obter um blob.

Exemplo 2: Obter blobs em um contêiner usando o pipeline

Get-AzStorageContainer -Name container* | Get-AzStorageBlob -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

Este comando usa o pipeline para obter todos os blobs (incluir blobs no status Excluído) em um contêiner.

Exemplo 3: Obter blobs por prefixo de nome

Get-AzStorageBlob -Container "ContainerName" -Prefix "blob"

Este comando usa um prefixo de nome para obter blobs.

Exemplo 4: Listar blobs em vários lotes

$MaxReturn = 10000
$ContainerName = "abc"
$Total = 0
$Token = $Null
do
 {
     $Blobs = Get-AzStorageBlob -Container $ContainerName -MaxCount $MaxReturn  -ContinuationToken $Token
     $Total += $Blobs.Count
     if($Blobs.Length -le 0) { Break;}
     $Token = $Blobs[$blobs.Count -1].ContinuationToken;
 }
 While ($null -ne $Token)
Echo "Total $Total blobs in container $ContainerName"

Este exemplo usa os parâmetros MaxCount e ContinuationToken para listar blobs do Armazenamento do Azure em vários lotes. Os quatro primeiros comandos atribuem valores a variáveis a serem usadas no exemplo. O quinto comando especifica uma instrução Do-While que usa o cmdlet Get-AzStorageBlob para obter blobs. A instrução inclui o token de continuação armazenado na variável $Token. $Token muda de valor à medida que o loop é executado. Para obter mais informações, digite Get-Help About_Do. O comando final usa o comando Echo para exibir o total.

Exemplo 5: Obter todos os blobs em um contêiner incluem a versão de blob

Get-AzStorageBlob -Container "containername"  -IncludeVersion

AccountName: storageaccountname, ContainerName: containername

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId                     
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------                     
blob1                BlockBlob 2097152         application/octet-stream       2020-07-06 06:56:06Z Hot                                     False      2020-07-06T06:56:06.2432658Z  
blob1                BlockBlob 2097152         application/octet-stream       2020-07-06 06:56:06Z Hot        2020-07-06T06:56:06.8588431Z False                                    
blob1                BlockBlob 2097152         application/octet-stream       2020-07-06 06:56:06Z Hot                                     False      2020-07-06T06:56:06.8598431Z *  
blob2                BlockBlob 2097152         application/octet-stream       2020-07-03 16:19:16Z Hot                                     False      2020-07-03T16:19:16.2883167Z  
blob2                BlockBlob 2097152         application/octet-stream       2020-07-03 16:19:35Z Hot                                     False      2020-07-03T16:19:35.2381110Z *

Este comando obtém todos os blobs em uma versão de blob de inclusão de contêiner.

Exemplo 6: Obter uma única versão de blob

Get-AzStorageBlob -Container "containername" -Blob blob2 -VersionId "2020-07-03T16:19:16.2883167Z"

AccountName: storageaccountname, ContainerName: containername

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId                     
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------                     
blob2                BlockBlob 2097152         application/octet-stream       2020-07-03 16:19:16Z Hot                                     False      2020-07-03T16:19:16.2883167Z

Este comando obtém um único blobs verion com VersionId.

Exemplo 7: Obter um único instantâneo de blob

Get-AzStorageBlob -Container "containername" -Blob blob1 -SnapshotTime "2020-07-06T06:56:06.8588431Z"

AccountName: storageaccountname, ContainerName: containername

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId                     
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------                     
blob1                BlockBlob 2097152         application/octet-stream       2020-07-06 06:56:06Z Hot        2020-07-06T06:56:06.8588431Z False

Este comando obtém um único instantâneo de blobs com SnapshotTime.

Exemplo 8: Obter tags de blob include blob

$blobs = Get-AzStorageBlob -Container "containername" -IncludeTag

$blobs

   AccountName: storageaccountname, ContainerName: containername

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId                     
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------                     
testblob             BlockBlob 2097152         application/octet-stream       2020-07-23 09:35:02Z Hot                                     False      2020-07-23T09:35:02.8527357Z *
testblob2            BlockBlob 2097152         application/octet-stream       2020-07-23 09:35:04Z Hot                                     False      2020-07-23T09:35:04.0856187Z *


$blobs[0].Tags
Name          Value 
----          -----
tag1          value1
tag2          value2

Este comando lista blobs de um contêiner com tags blob e mostra as tags do primeiro blob.

Exemplo 9: Obter um único blob com condição de tag de blob

Get-AzStorageBlob -Container "containername" -Blob testblob -TagCondition """tag1""='value1'"

AccountName: storageaccountname, ContainerName: containername

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId                     
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------                     
testblob             BlockBlob 2097152         application/octet-stream       2020-07-23 09:35:02Z Hot                                     False      2020-07-23T09:35:02.8527357Z *

Este comando obtém um único blob com condição de tag blob. O cmdlet só terá êxito quando o blob contiver uma tag com nome "tag1" e valor "value1", caso contrário, o cmdlet falhará com o código de erro 412.

Exemplo 10: Obter propriedades de blob (exemplo: ImmutabilityPolicy) de um único blob

$blobProperties = (Get-AzStorageBlob -Container "ContainerName" -Blob "blob" -Context $ctx).BlobProperties
$blobProperties.ImmutabilityPolicy

ExpiresOn                   PolicyMode
---------                   ----------
9/17/2024 2:49:32 AM +00:00   Unlocked

Este comando de exemplo obtém a propriedade de imutabilidade de um único blob. Você pode obter uma lista detalhada de prTooperties de blob da propriedade BlobProperties , incluindo, mas não limitado a: LastModified, ContentLength, ContentHash, BlobType, LeaseState, AccessTier, ETag, ImmutabilityPolicy, etc... Para listar vários blobs (execute o cmdlet sem nome de blob), use ListBlobProperties.Properties em vez de BlobProperties para obter melhor desempenho.

Parâmetros

-Blob

Especifica um nome ou padrão de nome, que pode ser usado para uma pesquisa curinga. Se nenhum nome de blob for especificado, o cmdlet listará todos os blobs no contêiner especificado. Se um valor for especificado para esse parâmetro, o cmdlet listará todos os blobs com nomes que correspondem a esse parâmetro. Este parâmetro oferece suporte a curingas em qualquer lugar da cadeia de caracteres.

Tipo:String
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-ClientTimeoutPerRequest

Especifica o intervalo de tempo limite do lado do cliente, em segundos, para uma solicitação de serviço. Se a chamada anterior falhar no intervalo especificado, esse cmdlet tentará novamente a solicitação. Se este cmdlet não receber uma resposta bem-sucedida antes do intervalo passar, ele retornará um erro.

Tipo:Nullable<T>[Int32]
Aliases:ClientTimeoutPerRequestInSeconds
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-ConcurrentTaskCount

Especifica o máximo de chamadas de rede simultâneas. Você pode usar esse parâmetro para limitar a simultaneidade para limitar o uso local da CPU e da largura de banda, especificando o número máximo de chamadas de rede simultâneas. O valor especificado é uma contagem absoluta e não é multiplicado pela contagem principal. Esse parâmetro pode ajudar a reduzir problemas de conexão de rede em ambientes de baixa largura de banda, como 100 kilobits por segundo. O valor predefinido é 10.

Tipo:Nullable<T>[Int32]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Container

Especifica o nome do contêiner.

Tipo:String
Aliases:N, Name
Position:1
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Context

Especifica a conta de armazenamento do Azure da qual você deseja obter uma lista de blobs. Você pode usar o cmdlet New-AzStorageContext para criar um contexto de armazenamento.

Tipo:IStorageContext
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-ContinuationToken

Especifica um token de continuação para a lista de blobs. Use esse parâmetro e o parâmetro MaxCount para listar blobs em vários lotes.

Tipo:BlobContinuationToken
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.

Tipo:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-IncludeDeleted

Incluir blob excluído, por padrão obter blob não incluirá blob excluído.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-IncludeTag

Inclua tags blob, por padrão get blob não incluirá tags blob.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-IncludeVersion

As versões de blob serão listadas somente se esse parâmetro estiver presente, por padrão, get blob não incluirá versões de blob.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-MaxCount

Especifica o número máximo de objetos que esse cmdlet retorna.

Tipo:Nullable<T>[Int32]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Prefix

Especifica um prefixo para os nomes de blob que você deseja obter. Este parâmetro não suporta o uso de expressões regulares ou caracteres curinga para pesquisar. Isso significa que, se o contêiner tiver apenas blobs chamados "My", "MyBlob1" e "MyBlob2" e você especificar "-Prefix My*", o cmdlet não retornará blobs. No entanto, se você especificar "-Prefix My", o cmdlet retornará "My", "MyBlob1" e "MyBlob2".

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-ServerTimeoutPerRequest

Especifica o intervalo de tempo limite do lado do serviço, em segundos, para uma solicitação. Se o intervalo especificado decorrer antes de o serviço processar a solicitação, o serviço de armazenamento retornará um erro.

Tipo:Nullable<T>[Int32]
Aliases:ServerTimeoutPerRequestInSeconds
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-SnapshotTime

Blob SnapshotTime

Tipo:Nullable<T>[DateTimeOffset]
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-TagCondition

Instrução de expressão de tag opcional para verificar a condição de correspondência. A solicitação de blob falhará quando as tags de blob não corresponderem à expressão fornecida. Veja os detalhes em https://learn.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations#tags-conditional-operations.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-VersionId

Blob VersionId

Tipo:String
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

String

IStorageContext

Saídas

AzureStorageBlob