list_files tabellvärdesfunktion

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime 18 LTS och senare

Important

Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.

Returnerar listan av filer vid en sökväg, inklusive en FILE referens för varje fil.

Syntax

list_files(path [, connection => connection ] [, recursive => recursive ])

Arguments

  • path: En STRING väg till listan. Det kan vara en volymsökväg, en extern platssökväg eller en väg på ett annat fillagringssystem som SFTP, SharePoint eller Google Drive.
  • connection: En valfri Unity Catalog-anslutning som används för autentisering med system som SFTP, SharePoint eller Google Drive.
  • recursive: Ett valfritt BOOLEAN som styr om funktionen kan gå ner i underkataloger. Godkända värden är:
    • true: Listar filer i sökvägen och alla dess underkataloger, och returnerar inga kataloger. Detta är standardvärdet.
    • false: Listar endast de omedelbara posterna i vägen och returnerar kataloger med en nullfile referens och en size av 0.

Och connectionrecursive argumenten måste skickas med namn med hjälp av => syntax, till exempel connection => my_conn.

Returns

En tabell med en rad per fil, med följande kolumner:

Column Type Description
path STRING Sökvägen till filen.
size BIGINT Filens storlek i byte.
modification_time TIMESTAMP Sista ändringstiden för filen, i UTC.
file FILE En referens till filen.

Vanliga felvillkor

  • LIST_FILES_AUTHORIZATION_ERROR.ON_PATH
  • LIST_FILES_AUTHORIZATION_ERROR.ON_CONNECTION
  • LIST_FILES_ERROR.PATH_NOT_EXISTS
  • LIST_FILES_ERROR.CONNECTION_NOT_EXISTS

För mer information, se Felvillkor i Azure Databricks.

Examples

För att lista filerna i en volymkatalog:

SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');

Funktionen returnerar en rad per fil:

path                                                 size   modification_time         file
/Volumes/my_catalog/my_schema/my_volume/file1.json   1234   2026-04-11 00:00:00.000   <file>

För att lista filer från ett externt system med en Unity Catalog-anslutning:

SELECT path, size FROM list_files('https://drive.google.com/drive/folders/my-folder-id', connection => my_gdrive_connection);

För att endast lista de omedelbara posterna i en katalog, sätt recursive till false:

SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/', recursive => false);

Kataloger förekommer i resultaten med en nullfile referens och en size av 0:

path                                                 size   modification_time         file
/Volumes/my_catalog/my_schema/my_volume/file1.json   1234   2026-04-11 00:00:00.000   <file>
/Volumes/my_catalog/my_schema/my_volume/subdir/      0      2026-04-11 00:00:00.000   NULL

För att beräkna den totala storleken på alla filer i en katalog, summera kolumnen size . Eftersom recursive standardinställningen är true, inkluderar detta filer i underkataloger:

SELECT sum(size) AS total_bytes FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');

Frågan returnerar den kombinerade storleken i bytes:

total_bytes
1234