fabric-cli

Onelake examples

See also:

Copying files

Copy a file between folders. The destination folder must exist. Recursive copies are not supported. Use -f to force.

# copy file from one folder to another with the same name
fab:/ws1.Workspace/lh1.Lakehouse$ cp Files/csv/fab.csv Files/dest/

# copy file from one folder to another with new name
fab:/ws1.Workspace/lh1.Lakehouse$ cp Files/csv/fab.csv Files/dest/renamed_copy_fab.csv

Uploading files

Copy a local file to a OneLake folder. The destination folder must exist. Recursive copies are not supported. Use -f to force.

# copy file from one folder to another with the same name
fab:/ws1.Workspace/lh1.Lakehouse$ cp /tmp/mydir/fab.csv Files/dest/

# copy file from one folder to another with new name
fab:/ws1.Workspace/lh1.Lakehouse$ cp /tmp/mydir/fab.csv Files/dest/renamed_copy_fab.csv

Downloading files

Copy a OneLake file to a local folder. The destination folder must exist. Recursive copies are not supported. Use -f to force.

# copy file from one folder to another with the same name
fab:/ws1.Workspace/lh1.Lakehouse$ cp Files/csv/fab.csv /tmp/mydir/

# copy file from one folder to another with new name
fab:/ws1.Workspace/lh1.Lakehouse$ cp Files/csv/fab.csv /tmp/mydir/renamed_copy_fab.csv

Checking if a file or folder exists

Verify if a file or folder exists.

fab:/ws1.Workspace/lh1.Lakehouse$ exists Files/dir1
* true

fab:/ws1.Workspace/lh1.Lakehouse$ exists Files/0000.parquet
* true

fab:/ws1.Workspace/lh1.Lakehouse$ exists Tables
* true

fab:/ws1.Workspace/lh1.Lakehouse$ exists Files/_dir1
* false

Querying file or folder details

Retrieve and query item details with -q (JMESPath query). Output to Local or Lakehouse with -o. Use v to show all JSON properties (e.g. for reports).

# get JSON properties
fab:/ws1.Workspace/lh1.Lakehouse$ get Files/dir1

# query using JMESPath
fab:/ws1.Workspace/lh1.Lakehouse$ get Files/dir1 -q paths[0]
fab:/ws1.Workspace/lh1.Lakehouse$ get Files/dir1 -q .

# export query result
fab:/ws1.Workspace/lh1.Lakehouse$ get Files/dir1 -q paths[0] -o /tmp
fab:/ws1.Workspace/lh1.Lakehouse$ get Files/dir1 -q . -o /tmp

Listing OneLake content

List content in OneLake for an item. Use -l for details. The -a flag for OneLake resources has no effect.

Items currently using OneLake (*requires explicit enablement):

# list item content in OneLake - Lakehouse
fab:/ws1.Workspace$ ls lh1.Lakehouse/Files
fab:/ws1.Workspace$ ls lh1.Lakehouse/Files -l
fab:/ws1.Workspace$ ls lh1.Lakehouse/Tables
fab:/ws1.Workspace$ ls lh1.Lakehouse/Tables -l
fab:/ws1.Workspace$ ls lh1.Lakehouse/TableMaintenance -l

# list item content in OneLake - Warehouse
fab:/ws1.Workspace$ ls wh1.Warehouse/Tables/dbo -l
fab:/ws1.Workspace$ ls wh1.Warehouse/Files -l

# list item content in OneLake - MirroredDatabase
fab:/ws1.Workspace$ ls mir1.MirroredDatabase/Tables -l
fab:/ws1.Workspace$ ls mir1.MirroredDatabase/Files -l

# list item content in OneLake - SQLDatabase
fab:/ws1.Workspace$ ls sql1.SQLDatabase/Tables -l

# list item content in OneLake - SemanticModel (explicit enablement)
fab:/ws1.Workspace$ ls sem1.SemanticModel/Tables -l

# list item content in OneLake - KQLDatabase (explicit enablement)
fab:/ws1.Workspace$ ls kql1.KQLDatabase/Tables -l
fab:/ws1.Workspace$ ls kql1.KQLDatabase/Shortcut -l

Creating a folder

Create a folder in OneLake. Only supported for Files in .Lakehouse, Main and Libs folders in .SparkJobDefinition.

fab:/ws1.Workspace/lh1.Lakehouse$ create Files/dir1
Creating a new Directory...
* 'Files/dir1' created

Removing a file or folder

Remove a file or folder from OneLake. Use -f to force.

# remove a folder
fab:/ws1.Workspace/lh1.Lakehouse$ rm Files/dir1

# remove a file
fab:/ws1.Workspace/lh1.Lakehouse$ rm Files/dir1/0000.parquet -f

See all examples