import_table_from_url
Load data from a remote URL into an existing Microsoft Fabric Data Warehouse table using COPY INTO. Supports CSV and Parquet files with configurable handling for existing tables.
Instructions
Load data into an existing Data Warehouse table via COPY INTO from a remote URL.
The target table must already exist and have a compatible schema.
For auto-create with schema inference from local files, use the CLI
tables load --file --create command instead.
if_exists controls behaviour when the table already exists:
"fail"(default): raise an error if the table already exists."append": load rows into the existing table without modification."truncate": TRUNCATE the existing table first, then load. RequiresFABRIC_MCP_ALLOW_DESTRUCTIVE=1. Raises an error if the table does not exist."replace": not supported for remote URLs (schema inference requires downloading the file). Use"truncate"to keep the current schema, or download locally and use the CLI with--create --if-exists replace.
Supported file types: CSV, PARQUET. JSON remote URLs require
downloading and converting locally first; use the CLI tables load
command for local files (including JSON).
For OneLake or same-tenant URLs, no credential is needed. For secured
external URLs supply credential_type and the appropriate
secret/identity values.
CAUTION: truncate is permanently destructive.
Confirm the source URL and target table before calling.
Note: secret / identity values are accepted but are NEVER logged
or included in any debug output.
Args:
workspace: Workspace name or GUID.
item: Warehouse name or GUID. SQL Analytics Endpoints are rejected.
qualified_name: Dot-separated qualified table name, e.g. dbo.sales.
url: Source URL (OneLake DFS URL or external Azure Blob URL).
file_type: CSV or PARQUET.
if_exists: Policy when the target table already exists.
credential_type: Credential type for the source URL.
secret: Credential secret (not logged).
identity: Identity for managed-identity or service-principal.
delimiter: CSV column delimiter.
has_header: Whether the CSV file has a header row.
encoding: CSV file encoding.
field_quote: CSV field-quote character.
row_terminator: CSV row terminator.
max_errors: Maximum errors before aborting.
rejected_row_location: URL for rejected-row output.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | Yes | ||
| item | Yes | ||
| qualified_name | Yes | ||
| url | Yes | ||
| file_type | Yes | File type. JSON is not supported for remote URLs; download and convert locally first. | |
| if_exists | No | What to do when the target table already exists. 'fail': error (default). 'append': load into existing table. 'truncate': TRUNCATE then load (destructive). 'replace': DROP + recreate from inferred schema, then load (destructive). | fail |
| credential_type | No | Credential type for secured external URLs. Use 'none' for OneLake or public URLs. | none |
| secret | No | Credential secret (SAS token, client secret, or account key). NEVER log or echo this value. | |
| identity | No | Identity value for managed-identity or service-principal credential types. | |
| delimiter | No | CSV column delimiter (e.g. ',', '\t'). | |
| has_header | No | When True, the first CSV row is a header and is skipped. | |
| encoding | No | CSV file encoding (e.g. 'UTF8', 'UTF8BOM'). | |
| field_quote | No | CSV field-quote character. | |
| row_terminator | No | CSV row terminator (e.g. '\n', '\r\n'). | |
| max_errors | No | Maximum number of errors before aborting. | |
| rejected_row_location | No | URL to write rejected rows to. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||