Get-AzDataLakeGen2ChildItem

列出目錄或檔案系統根目錄中的子目錄和檔案。

Syntax

Get-AzDataLakeGen2ChildItem
   [-FileSystem] <String>
   [[-Path] <String>]
   [-FetchProperty]
   [-Recurse]
   [-MaxCount <Int32>]
   [-ContinuationToken <String>]
   [-AsJob]
   [-OutputUserPrincipalName]
   [-Context <IStorageContext>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Get-AzDataLakeGen2ChildItem Cmdlet 會列出 Azure 記憶體帳戶中目錄或文件系統中的子目錄和檔案。 只有當 儲存體 帳戶啟用階層命名空間時,此 Cmdlet 才有效。 您可以使用 “-EnableHierarchicalNamespace $true” 來執行 “New-Az 儲存體 Account” Cmdlet 來建立這類帳戶。

範例

範例 1:列出文件系統中的直接子專案

Get-AzDataLakeGen2ChildItem -FileSystem "filesystem1"

FileSystem Name: filesystem1

Path                 IsDirectory  Length          LastModified         Permissions  Owner                Group               
----                 -----------  ------          ------------         -----------  -----                -----               
dir1                 True                         2020-03-13 13:07:34Z rwxr-x---    $superuser           $superuser          
dir2                 True                         2020-03-23 09:28:36Z rwxr-x---    $superuser           $superuser

此命令會列出文件系統中的直接子專案

範例 2:以遞歸方式從目錄列出,並擷取 Properties/ACL

Get-AzDataLakeGen2ChildItem -FileSystem "filesystem1" -Path "dir1/" -Recurse -FetchProperty

FileSystem Name: filesystem1

Path                 IsDirectory  Length          LastModified         Permissions  Owner                Group               
----                 -----------  ------          ------------         -----------  -----                -----               
dir1/dir3            True                         2020-03-23 09:34:31Z rwx---rwx    $superuser           $superuser          
dir1/file1           False        1024            2020-03-23 09:29:18Z rwx---rwx    $superuser           $superuser           
dir1/testfile_1K_0   False        1024            2020-03-23 09:29:21Z rw-r-----    $superuser           $superuser

此命令會列出文件系統中的直接子專案

範例 3:從文件系統以遞歸方式列出多個批次中的專案

$MaxReturn = 1000
$FileSystemName = "filesystem1"
$Total = 0
$Token = $Null
do
 {
     $items = Get-AzDataLakeGen2ChildItem -FileSystem $FileSystemName -Recurse -MaxCount $MaxReturn  -ContinuationToken $Token
     $Total += $items.Count
     if($items.Length -le 0) { Break;}
     $Token = $items[$items.Count -1].ContinuationToken;
 }
 While ($null -ne $Token)
Echo "Total $Total items in Filesystem $FileSystemName"

此範例會 使用 MaxCountContinuationToken 參數,以遞歸方式從文件系統以多個批次列出專案。 小型 MaxCount 可以限制從單一 requst 傳回的專案計數、有助於作業逾時錯誤,以及限制 Powershell 的記憶體使用量。 前四個命令會將值指派給範例中使用的變數。 第五個 命令會指定 Do-While 語句,該語句會使用 Get-AzDataLakeGen2ChildItem Cmdlet 來列出專案。 語句包含儲存在 $Token 變數中的接續令牌。 $Token循環執行時變更值。 最後一個命令會 使用 Echo 命令來顯示總計。

參數

-AsJob

在背景執行 Cmdlet

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Context

Azure 儲存體 Context 物件

Type:IStorageContext
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ContinuationToken

接續令牌。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FetchProperty

擷取 datalake 項目屬性和 ACL。

Type:SwitchParameter
Aliases:FetchPermission
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileSystem

FileSystem 名稱

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaxCount

可傳回之 Blob 的最大計數。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputUserPrincipalName

如果指定此參數,則會將每個清單項目的擁有者和群組欄位中傳回的用戶識別值從 Microsoft Entra 物件識別元轉換成用戶主體名稱。 如果未指出此參數,則會以 Microsoft Entra 物件識別碼的形式傳回值。 請注意,群組和應用程式對象標識碼不會轉譯,因為它們沒有唯一的易記名稱。

Type:SwitchParameter
Aliases:UserPrincipalName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

應擷取之指定文件系統中的路徑。 應該是目錄,格式為 'directory1/directory2/'。

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Recurse

指出是否會以遞歸方式取得子專案。 預設值為 false。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

String

IStorageContext

輸出

AzureDataLakeGen2Item