共用方式為


Get-AzStorageBlob

列出容器中的 Blob。

語法

BlobName (預設值)

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>]

SingleBlobSnapshotTime

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

SingleBlobVersionID

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

BlobPrefix

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

Description

Get-AzStorageBlob Cmdlet 會列出 Azure 儲存體帳戶中指定容器中的 Blob。

範例

範例 1:依 Blob 名稱取得 Blob

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

此命令會使用 Blob 名稱和萬用字元來取得 Blob。

範例 2:使用管線取得容器中的 Blob

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

此命令會使用管線來取得容器中的所有 Blob (包括處於 [已刪除] 狀態的 Blob)。

範例 3:依名稱前置詞取得 Blob

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

此命令會使用名稱前置詞來取得 Blob。

範例 4:列出多個批次中的 Blob

$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"

此範例會使用 MaxCountContinuationToken 參數,以多個批次列出 Azure 儲存體 Blob。 前四個指令會將值指派給要在範例中使用的變數。 第五個命令會指定使用 Get-AzStorageBlob Cmdlet 來取得 Blob 的 Do-While 陳述式。 陳述式包含儲存在 $Token 變數中的接續權杖。 $Token會在迴圈執行時變更值。 如需詳細資訊,請鍵入 Get-Help About_Do。 最後一個指令使用 Echo 指令來顯示總計。

範例 5:取得容器中的所有 Blob 包含 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 *

此命令會取得容器中的所有 Blob,包括 Blob 版本。

範例 6:取得單一 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

此命令會取得具有 VersionId 的單一 Blob 版本。

範例 7:取得單一 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

此命令會取得具有 SnapshotTime 的單一 Blob 快照集。

範例 8:取得 Blob 包含 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

此命令會列出具有 Blob 標籤的容器中的 Blob,並顯示第一個 Blob 的標籤。

範例 9:取得具有 Blob 標籤條件的單一 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 *

此命令會取得具有 Blob 標籤條件的單一 Blob。 只有在 Blob 包含名稱為 “tag1” 且值為 “value1” 的標籤時,Cmdlet 才會成功,否則 Cmdlet 會失敗,並出現錯誤碼 412。

範例 10:取得單一 Blob 的 Blob 屬性 (範例:ImmutabilityPolicy)

$blobProperties = (Get-AzStorageBlob -Container "ContainerName" -Blob "blob" -Context $ctx).BlobProperties
$blobProperties.ImmutabilityPolicy
ExpiresOn                   PolicyMode
---------                   ----------
9/17/2024 2:49:32 AM +00:00   Unlocked

此範例命令會取得單一 Blob 的不變性屬性。 您可以從 BlobProperties 屬性取得 blob 屬性的詳細清單,包括但不限於:LastModified、ContentLength、ContentHash、BlobType、LeaseState、AccessTier、ETag、ImmutabilityPolicy 等...若要列出多個 Blob (執行沒有 Blob 名稱的 Cmdlet),請使用 ListBlobProperties.Properties 而不是 BlobProperties 以獲得更好的效能。

參數

-Blob

指定名稱或名稱模式,可用於萬用字元搜尋。 如果未指定 Blob 名稱,Cmdlet 會列出指定容器中的所有 Blob。 如果為此參數指定值,Cmdlet 會列出名稱符合此參數的所有 Blob。 此參數支援字串中任何位置的萬用字元。

參數屬性

類型:String
預設值:None
支援萬用字元:True
不要顯示:False

參數集

BlobName
Position:0
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ClientTimeoutPerRequest

指定一個服務要求的用戶端逾時間隔 (以秒為單位)。 如果上一個呼叫在指定的間隔內失敗,則此 Cmdlet 會重試要求。 如果此 Cmdlet 在間隔經過之前未收到成功的回應,則此 Cmdlet 會傳回錯誤。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False
別名:ClientTimeoutPerRequestInSeconds

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ConcurrentTaskCount

指定並行網路呼叫數上限。 您可以使用此參數來限制並行,以指定並行網路呼叫數目上限,以節流本機 CPU 和頻寬使用量。 指定的值是絕對計數,不會乘以核心計數。 此參數有助於減少低頻寬環境下的網路連線問題,例如每秒 100 KB。 預設值為 10。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Container

指定容器的名稱。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False
別名:N, 名稱

參數集

(All)
Position:1
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Context

指定您要從中取得 Blob 清單的 Azure 儲存體帳戶。 您可以使用 New-AzStorageContext Cmdlet 來建立儲存體內容。

參數屬性

類型:IStorageContext
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-ContinuationToken

指定 Blob 清單的接續權杖。 使用此參數和 MaxCount 參數,以多個批次列出 Blob。

參數屬性

類型:Microsoft.Azure.Storage.Blob.BlobContinuationToken
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

參數屬性

類型:IAzureContextContainer
預設值:None
支援萬用字元:False
不要顯示:False
別名:AzureRmContext, AzureCredential

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-IncludeDeleted

包含已刪除的 Blob,根據預設,取得 Blob 不會包含已刪除的 Blob。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-IncludeTag

包含 Blob 標籤,根據預設,取得 Blob 不會包含 Blob 標籤。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-IncludeVersion

只有在此參數存在時,才會列出 Blob 版本,根據預設,取得 Blob 不會包含 Blob 版本。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

BlobPrefix
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-MaxCount

指定此 Cmdlet 傳回的物件數目上限。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Prefix

指定您要取得之 Blob 名稱的前置詞。 此參數不支援使用正規表示式或萬用字元進行搜尋。 這表示如果容器只有名為 “My”、“MyBlob1” 和 “MyBlob2” 的 Blob,而您指定 “-Prefix My*”,則 Cmdlet 不會傳回任何 Blob。 不過,如果您指定 “-Prefix My”,Cmdlet 會傳回 “My”、“MyBlob1” 和 “MyBlob2”。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

BlobPrefix
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ServerTimeoutPerRequest

指定要求的服務端逾時間隔 (以秒為單位)。 如果在服務處理要求之前經過指定的間隔,儲存體服務會傳回錯誤。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False
別名:ServerTimeoutPerRequestInSeconds

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-SnapshotTime

Blob 快照時間

參數屬性

類型:

Nullable<T>[DateTimeOffset]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

SingleBlobSnapshotTime
Position:Named
必要:True
來自管線的值: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
預設值:None
支援萬用字元:False
不要顯示:False

參數集

BlobName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
SingleBlobSnapshotTime
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
SingleBlobVersionID
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-VersionId

Blob VersionId

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SingleBlobVersionID
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

String

IStorageContext

輸出

AzureStorageBlob