共用方式為


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"

此範例會使用 MaxCountContinuationToken 參數來列出多個批次中的 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

輸入

String

IStorageContext

輸出

AzureStorageBlob