externaldata operator

Returns a table whose schema is defined in the query itself, and whose data is read from an external raw file.

Note that this operator does not have a pipeline input.

Syntax

externaldata ( ColumnName : ColumnType [, ...] ) [ DataFileUri ] [with ( Prop1 = Value1 [, ...] )]

Arguments

  • ColumnName, ColumnType: These define the schema of the table. The Syntax used is precisely the same as the syntax used when defining a table (see .create table).
  • DataFileUri: The URI (including authentication option, if any) for the file holding the data.
  • Prop1, Value1, ...: Additional properties to describe how the data in the raw file is to be interpreted, as listed under ingestion properties.
    • The only property that is supported at the moment is the format property.
    • Currently supported data formats for this operator are: csv, tsv, scsv, sohsv, psv, txt, raw.

Returns

This operator returns a data table of the given schema, whose data was parsed from the specified URI.

Example

The following example shows how to find all records in a table whose UserID column falls into a known set of IDs, held (one per line) in an external blob. Because the set is indirectly referenced by the query, it can be very large.

Users
| where UserID in ((externaldata (UserID:string) [
    @"https://storageaccount.blob.core.windows.net/storagecontainer/users.txt"
      h@"?...SAS..."
    ]))
| ...