Fabric Data Warehouse Writer programmer's reference
Fabric Data Warehouse Writer properties
property | type | default value | notes |
---|---|---|---|
Azure Account Access Key | encrypted password | the account access key for the storage account you created as described in Initial Fabric Data Warehouse Writer setup, which you can find in Azure at Storage accounts > <account name> > Access keys | |
Azure Account Name | String | the name of the storage account you created as described in Initial Fabric Data Warehouse Writer setup, which you can find in Azure at Storage accounts | |
CDDL Action | String | Process | See Handling schema evolution. If TRUNCATE commands may be entered in the source and you do not want to delete events in the target, precede the writer with a CQ with the select statement Known issue DEV-48379: ALTER TABLE ... ADD PRIMARY KEY is not supported by Fabric, but instead of halting the application will continue as if the command had been successful. |
Client Configuration | String | If using a proxy, specify | |
Column Delimiter | String | If the data to be written may contain the default column delimiter (ASCII / UTF-8 124), specify a different delimiter that will never appear in the data. | |
Connection Profile Name | String | Appears in Flow Designer only when Use Connection Profile is True. See Introducing connection profiles. | |
Connection Retry Policy | String | initialRetryDelay=10s, retryDelayMultiplier=2, maxRetryDelay=1m, maxAttempts=10, totalTimeout=10m | With the default setting, if a connection attempt is unsuccessful, the adapter will try again in 10 seconds ( The adapter will halt when either
If To disable connection retry, set Negative values are not supported. |
Connection URL | String | Provide the full JDBC connection URL with Active Directory password for authentication using the format: jdbc:sqlserver://serverName=<host URL>;encrypt=true; Authentication=<Active Directory password>; database=<data warehouse name> | |
Excluded Tables | String | If | |
External Stage Connection Profile Name | String | Appears in Flow Designer only when Use Connection Profile is True. See Introducing connection profiles. | |
Ignorable Exception Code | String | Set to TABLE_NOT_FOUND to prevent the application from terminating when Striim tries to write to a table that does not exist in the target. See Handling "table not found" errors for more information. Ignored exceptions will be written to the application's exception store (see CREATE EXCEPTIONSTORE). | |
Mode | String | MERGE | With the default value of MERGE, inserts and deletes in the source are handled as inserts and deletes in the target. With this setting:
For more information about Set to APPENDONLY to handle all operations as inserts. With this setting:
|
Optimized Merge | Boolean | False | Appears in Flow Designer only when Mode is MERGE. Set to True only when Mode is MERGE and the target’s input stream is the output of an HP NonStop reader, MySQL Reader, or Oracle Reader source and the source events will include partial records. For example, with Oracle Reader, when supplemental logging has not been enabled for all columns, partial records are sent for updates. When the source events will always include full records, leave this set to false. Set to True also when the source is Oracle Reader and the source table includes BLOB or CLOB columns |
Parallel Threads | String | Creates multiple instances of writer for better performance. See Creating multiple writer instances. Not supported when Mode is MERGE. | |
Password | encrypted password | Microsoft Fabric password. | |
Tables | String | The name(s) of the table(s) to write to, in the format Table names are case-sensitive. You can provide multiple mappings with a semicolon as a separator. For example: You can also provide wildcards to specify table names. For example: Optionally, specify | |
Upload Policy | String | eventcount:10000, interval:5m | The upload policy may include eventcount and/or interval (see Setting output names and rollover / upload policies for syntax). Events are buffered locally on the Striim server and sent as a batch to the target every time either of the specified values is exceeded. |
Use Connection Profile | Boolean | ||
Username | String | Microsoft Fabric username. |
Using manual OAuth with Fabric Data Warehouse
Register and configure an application
Register an application with the Microsoft identity platform as described in Learn / Microsoft Entra / Microsoft identity platform / Quickstart: Register an application with the Microsoft identity platform.
Note the Client (application) ID, Tenant (directory) ID, Client Secret, Authorize Endpoint, and Token Endpoint, you will need them when creating the connection profile.
Go to Certificates and Secret and click New Client Secret. Note the value of the secret, you will need it when creating the connection profile.
Go to the registered app, select API permissions, and add the Azure SQL Database (user_impersonation) permission.
Generate the refresh token using a web browser and curl
Call the authorization endpoint by pasting the following into your browser's address bar, replacing
<tenant ID>
and<client ID>
with the values from "Register and configure an application" and<state>
with a random number or some encoded information. To validate the integrity of information exchange, verify that this state value matches the one that in the response payload later in this procedure.https://login.microsoftonline.com/<tenant ID>/oauth2/v2.0/authorize?client_id=<client ID> &response_type=code &redirect_uri=http%3A%2F%2Flocalhost &response_mode=query &scope=https%3A%2F%2Fdatabase.windows.net%2F.default%20offline_access &state=<state>
When prompted, log in as a user with access to the Fabric data warehouse. The browser will return a URL containing an authorization code (the portion between
code=
and&state
).http://localhost/?code= 0.ARsA1e6_cQUZ2kOkpEnYSQcx2uiQ8dwVo7tCoLGGBj_xw0AbAAA.AgABAAIAAAD--DLA3VO7QrddgJg7WevrAgDs _wUA9P_wji3IyHTg8MQUOqXFtdwUIwVEnR4oCGj0P_l3JfxA3XNfyKczWKpfI87VOu2xrgPodU6y3cs7uyFsy66iia FVMyUd9tIQijRur2mn6lI3OSJHKBHWaVs0Ii8FKQmWJxHRaxUctfJ_Fd9b_ZwmLSSK0pDqTEykK79I_jUXTCsChqq2 R30ztAPHmbwTcu4tTbTLLCuX1O1Kho2wq4KsMl3DQTPciHjXcNJ8Qz0rE909Hn7-wxliNstT3xbYj8V7g1aC3_3N_h jZk7RK6VBmgoStBXcMzckGB0ec34g1p4j7YCh5qAhyNX7lePy1m0IOX88XghY2mFlN_UiotZIwCkA2ZNzTEpxnFhOy L6JilQSGLOoQtP1VGL91ZmB6okhsEZbI8IvJqLvnpwz0N3HMpPJ3jQTQXCVGnla7vQAWyKHBuhRNEA84q8s37E6N-u N3BV16ym_zQWmIAcdgTPMIlbrKbnbpjbv6sbg3uMSs3Chq9mDawxJrh_atw &state=12345&session_state=bf8f7e74-bc50-47a9-a1ee-0db219cb06b0#
Using curl, execute the following command, replacing <client ID> and <client secret> with the values from "Register and configure an application" and
<authorization code>
with the string from the previous step. Note the value of the returned refresh token, you will need it when creating the connection profile..curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \ https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token \ -d 'client_id=<client ID>' \ -d 'client_secret=<client secret>' \ -d 'scope=https%3A%2F%2Fdatabase.windows.net%2F.default%20offline_access' \ -d 'code=<authorization code>' \ -d 'redirect_uri=http%3A%2F%2Flocalhost' \ -d 'grant_type=authorization_code' \ -d 'state=12345'
Create a connection profile
Create an Fabric Data Warehouse connection profile (see Introducing connection profiles).
Fabric Data Warehouse Writer data type support and correspondence
TQL type | Fabric type |
---|---|
Binary | varbinary |
Boolean | bit |
Byte | smallint |
Date | date |
DateTime | datetime2 |
Decimal | decimal |
Double | float |
Float | float |
Integer | int |
Long | bigint |
Short | smallint |
String | char, varchar |
Time | time |