Integrate external data


The externaldata operator returns a table whose schema is defined in the query itself. And whose data is read from an external storage artifact, such as a blob in Azure Blob Storage or an Azure Data Lake Storage file.


 externaldata ( ColumnName : ColumnType [, ...] )
  [ StorageConnectionString [, ...] ]
  [with ( PropertyName = PropertyValue [, ...] )]


  • ColumnName, ColumnType: The arguments define the schema of the table. The syntax is the same as the syntax used when defining a table in. create table.

  • StorageConnectionString: Storage connection strings that describe the storage artifacts holding the data to return.

  • PropertyName, PropertyValue, ...: More properties that describe how to interpret the data retrieved from storage, as listed under ingestion properties.

Currently, supported properties are:


Property Type Description
format string Data format. If not specified, an attempt is made to detect the data format from file extension (defaults to CSV). Any of the ingestion data formats are supported.
ignoreFirstRecord bool If set to true, indicates that the first record in every file is ignored. This property is useful when querying CSV files with headers.
ingestionMapping string A string value that indicates how to map data from the source file to the actual columns in the operator result set. See data mappings.


The externaldata operator returns a data table of the given schema with data parsed from the specified storage artifact, indicated by the storage connection string.


This example is not available in the demo environment.

| where UserID in ((externaldata (UserID:string) [
      h@"?...SAS..." // Secret token needed to access the blob
| ...