Get-AzStorageBlob
語法
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"
此範例會使用 MaxCount 和 ContinuationToken 參數,以多個批次列出 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。
參數屬性
參數集
(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 來建立儲存體內容。
參數屬性
參數集
(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 通訊的認證、帳戶、租用戶和訂用帳戶。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-IncludeDeleted
包含已刪除的 Blob,根據預設,取得 Blob 不會包含已刪除的 Blob。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-IncludeTag
包含 Blob 標籤,根據預設,取得 Blob 不會包含 Blob 標籤。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-IncludeVersion
只有在此參數存在時,才會列出 Blob 版本,根據預設,取得 Blob 不會包含 Blob 版本。
參數屬性
參數集
BlobPrefix
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-MaxCount
指定此 Cmdlet 傳回的物件數目上限。
參數屬性
參數集
(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 快照時間
參數屬性
參數集
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。
輸出