Table Columns
Since Azure Table Storage tables are schemaless, the connector offers the following two mechanisms to uncover the schema.
Dynamic Schemas
The columns of a table are dynamically determined by scanning data in the first few rows. You can adjust the number of rows that are used by modifying the RowScanDepth property. When TypeDetectionScheme is set to "RowScan", the row scan also determines the data type. The following table shows how the different data types supported by Azure Table Storage are modeled in the connector.
Azure Table Storage Type | Modeled Type | Sample Value |
Edm.Binary | String | 10 |
Edm.Boolean | Boolean | True |
Edm.DateTime | Datetime | 2014-09-23 08:23:45 PM |
Edm.Double | Double | 3.14159265 |
Edm.Int32 | Integer | 123 |
Edm.Int64 | Long | 25000000000 |
Edm.String | String | USA |
Static Schemas
Instead of using dynamically discovered schemas, you can define your own schemas. This will give you more control over the projected columns and also enable you to manually define data types. Refer to the sample schema included with the connector to define your own schema. You can simply change the name of the sample schema file, which must match with the name of the Azure Table Storage table, and edit the column listing to use it for your own table.
Schemaless Operations
The schema of the table is necessary to retrieve data, whether you define it manually or obtain it dynamically. However, data may be inserted, updated, or deleted from columns that do not exist in the schema. Columns that do not already exist in the table schema will have their data types set to String.