Data Connections
Click Data Connections (on the left) to open the Data Connections page.
What is a Data Connection?
In previous versions of RASON, models that accessed external databases required actual credentials to be passed, such as database URLs, port numbers, usernames and passwords,
in the text of the RASON model, in a datasource declaration, as shown below.
Previous versions of RASON
"parts_data": {
"type": "odbc",
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;
Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
"selection": "SELECT Parts as parts, Products as prods, Qty as qty FROM Parts ORDER BY ID",
"indexCols": [ "parts", "prods" ],
"valueCols": [ "qty" ],
"direction": "import"
},
RASON 2020 offers an alternative to tackle this security risk by substituting
"connection": "Driver={SQL Server};Server=tcp:solver.database.windows.net,1433;
Database=Rason;Uid=rasonread;Pwd=Rason1234;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;",
with three options: a file containing the contents of "connection" as in (1) below, a named Data Connection as shown in (2) or a URL pointing to Microsoft Common Data Service as shown in (3) below.
-
"connection": "File = filename",
RASON 2020 will interpret this as (i) get the text contents of filename, which must be attached to the current model instance and (ii) substitute this text for the string "File=filename". Therefore, if filename contains the text "Driver={SQLServerNativeClient…Timeout=30;", the effect will be the same as in previous versions of RASON.
-
"connection": "Name=myname",
where myname is the name given to the Data Connection. See below for instructions on how to create a named Data Connection.
-
-
"connection": "secret=uri",
where uri is the Microsoft Common Data Service URL
-
"connection": "xxxx.crm.dynamics.com",
where the actual Microsoft Common Data Service URL is passed directly to "connection".
If using a with "secret=url" in the dataSources section of your RASON model, enter a URI of the form "https://subdomain.crm.dynamics.com". , i.e. "https://www.cdatacloud.net/solver/api.rsc/GoogleSheets1_ODataSourceExample_Sheet1",
RASON 2020 will interpret this as (i) get the text contents of the "secret" represented by the URL and (ii) substitute this text for the string "Secret=url". So if the "secret" contains the text "Driver={SQLNativeClient…Timeout=30;", the effect will be the same as in previous versions of RASON.
Similarly, if using CData Cloud Hub with "connection": "xxxx.crm.dynamics.com", enter a URI of the form https://subdomain.crm.dynamics.com.
RASON 2020 will interpret this as (i) get the text contents of the connection represented by the URL and (ii) substitute this text for the string "connection".
Currently, RASON 2020 supports "secrets" maintained, only, in an Azure Key Vault. Enterprise customers can provision their own Key Vault and arrange to authenticate the RASON Server to this Key Vault if so desired.
Organization-Specific Vaults and Storage Accounts
The RASON Server uses an Azure "storage account" to persist all data, including RASON models, fitted models
(PMML or JSON) and attached files (CSV or XLSX), as well as temporary queues and tables. Via an API request,
database credentials and similar "secrets" may be stored in a Frontline-provisioned Azure vault. (See the Data
Connections topic.) All data is encrypted in motion and encrypted at rest, and requires an OAuth2-based token
for access. However, RASON v2020 includes a provision for the public RASON Server to use an organization's own
Azure vault instead of Frontline -provisioned vaults, and to use an organization's own private Azure storage
account to persist all models and data used under its RASON Organization Account. The RASON Server will
authenticate itself through Azure AD to the organization's Azure resources.
Creating a Named Data Connection
When using data connections, you must first create a Named Data Connection on the My Account page on www.rason.com. Begin by clicking Create New to open the Create New Data Connection dialog.
Type: Select CData Cloud Hub, Microsoft Common Data Service, Microsoft OneDrive, Microsoft Sharepoint, OData, ODBC or Other for the data connection type.
Name: Enter a Name for the new named data connection. This is "myname" that will be passed for "connection": "Name=myname".
Description: Enter a description (optional) for the data connection.
URI: Enter the appropriate connection depending on your connection type.
-
OneDrive (or OneDrive for Business)
Path: Enter the path to your file (i.e. "/MyOneDriveFile.xlsx"), then click Create. The Microsoft Login screen will launch. Login to your Microsoft account to grant permission to RASON.net for your selected file.
-
Sharepoint
Path: Enter the path to your file (i.e. "/MySharePointFile.xlsx"), then click Create. The Microsoft Login screen will launch. Login to your Microsoft account to grant permission to RASON.net for your selected file.
SharePoint Site Collection: Enter a Microsoft SharePoint site collection name such as "MyCompany.sharepoint.com" for the default collection or "MyCompany.sharepoint.com:/data" for a subsite collection.
-
Common Data Service
Click "Copy" to copy the Appid to the Clipboard. Within Power Apps, you'll need to create an Application User using this Appid, and assign a security role to this APP user with the appropriate permissions. Click here for more details.
URI: Enter the Environment URL as found within your Power Apps environment, click Create.
-
CData Cloud Hub
Using CData Cloud Hub, you'll first need to create a new user, who has been granted access to your data, and create an Authtoken, as shown in the screenshot below. Click here for more details.
Resource URL: Enter a CData Cloud Hub resource URL using the following format: "https://www.cdatacloud.net/instance_name/api.rsc/my_entity" where "instance_name" should be replaced with your specific OData Endpoint and "my_entity" with your specific table name.
CData Auth Token: Enter the Authtoken generated from the Users page on CData Cloud Hub (see screenshot below) for "URI", then click Create.
-
ODATA
URI: Enter the URL for your OData service using the following format: "https://host/service" or "https://host/service/my_entity" where "host", "service", and "my_entity" are your specific OData Endpoint and entity names. For example, "https://rason.net/DansOfficeScheduler" where "rason.net" is the host and "DansOfficeScheduler" is the service, then click Create.
Authorization Header Name: Enter the name of your header if one is required.
Authorization Header Value: Enter the value for your header if one is required.
-
ODBC
Connection String: Enter the ODBC connection string as shown for Connection String, then click Create. Code snipped below taken from the RASON example, ProductMixSQL11.json.
-
Other
Select Other to enter any type of connection string. RASON will include the header name and value in the connection request.
After the data connection is created and access is granted to Rason.net with your data service provider, you'll need to enter your "connection" into your RASON model using "connection": "name=myname", or specifically:
- Microsoft One Drive: "connection": "name=MyOneDriveConnection"
- Microsoft SharePoint: "connection": "name=MySharePointConnection"
- CData Cloud Hub: "name=MyCloudHubConnection"
- Microsoft Common Data Service: "name=MyCDSConnection"
- OData: "name=MyODataConnection"
- ODBC: "name=MyODBCConnection"
|