Get-AzureStorageBlob
列出容器中的 Blob。
警告
自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 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>]
Description
Get-Azure 儲存體 Blob 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-Azure 儲存體 Blob 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-Azure 儲存體 Context 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 |