Setting Up an Azure Maps Connection Manager
The REST Connection Manager is an SSIS connection manager that can be used to establish connections and facilitate data integration with REST based APIs and services such as Azure Maps, among many more.
Integration for Azure Maps is enabled by the following two components:
To add a new connection, right-click the Connection Manager area in your Visual Studio project and choose "New Connection..." from the context menu. You will be prompted to the "Add SSIS Connection Manager" window. Select the "REST (KingswaySoft)" item to add a new REST Connection Manager.
The REST Connection Manager contains 3 pages of configuration.
- General
- Advanced Settings
- Custom Headers
General Page
The General page allows you to specify connection properties and login credentials for Azure Maps REST service:
- Service Name
-
The REST service that will be connected to.
- Geography
-
Specify the Geographic API endpoint to be used. Allows you to limit data residency to specific geographic areas.
- Authentication Mode
-
The Authentication Mode option allows you to specify the authentication mode when working with Azure Maps service. Available options are:
- OAuth authorization Code
- Subscription Key
- SAS Token
- Client Credentials
- Certificate
- OAuth Authorization Code
-
- Generate Token File
-
This button opens a dialogue box in order to sign in to your instance to generate a new Token.
-
-
- Account ID: The Account ID option allows you to specify the unique ID that identifies the account you are connecting to.
- Tenant ID: The Tenant ID option allows you to specify the unique ID that identifies the tenant you are connecting to.
- Client ID: The Client ID option allows you to specify the unique ID which identifies the application making the request.
- Client Secret: The Client Secret option allows you to specify the client secret belonging to your app.
- Redirect Url: The Redirect Url option allows you to specify the Redirect Url to complete the authentication process.
- PKCE (Proof Key for Code Extension): Ensures that the client that initiates the OAuth flow is the same client that completes the flow.
- Use Default Browser to Sign In: When this option is checked the Sign In and Authorize button will open your default web browser to complete the OAuth authentication. When this option is unchecked, the Sign In and Authorize button will complete the entire OAuth authentication process inside the toolkit.
- Sign In and Authorize: This button allows you to log into the service endpoint and authorize your app to generate a token.
- Path To Token File
-
This option allows you to enter the path to the token file on the file system.
- Token File Password
-
The password to the token file.
-
Subscription Key: Shared Key Authentication, Primary keys are automatically generated after an Azure Maps account is created and the Primary key can be used as the subscription key
- SAS Token (Shared Access Signature Token)
-
SAS (Shared Access Signature) tokens are a URI that grants authorization to Azure Maps. This is done by creating a user-assigned managed identity with an Azure Maps account in your Azure Subscription
- Client Credentials:
-
- Account ID
-
The Account ID option allows you to specify the unique ID that identifies the account you are connecting to.
- Tenant ID
-
The Tenant ID option allows you to specify the unique ID that identifies the tenant you are connecting to.
- Client ID
-
The ClientID option allows you to specify the unique ID that identifies the application making the request.
- Client Secret
-
The Client Secret option allows you to specify the client secret belonging to your app.
- Certificate:
-
- Account ID
-
The Account ID option allows you to specify the unique ID that identifies the account you are connecting to.
- Tenant ID
-
The Tenant ID option allows you to specify the unique ID that identifies the tenant you are connecting to.
- Client ID
-
The Client ID option allows you to specify the unique ID that identifies the application making the request.
- Certificate Location
-
Allows you to specify the location of the certificate that will be used. There are two options available:
- Store
- File System
- Certificate Thumbprint
-
Allows you to specify the thumbprint of the client certificate from the Certificate Store. Click the ellipses button to browse and select a certificate for the user's store. This option is available when you choose Store as Certificate Location.
- Certificate Chooser (...)
-
Click on the ellipsis button to open the certificate choose window.
-
- Path to Certificate
-
Provide the path to the certificate file to use for authentication. Click the ellipses button to browse their file system for the certificate. This option is available when you choose File System as Certificate Location.
Note: The component supports Azure Blob Shared Access Signature (SAS) URL in the certificate path.
- API Throttle Rate
-
The API Throttling Rate will limit the number of requests that can be sent per second.
Advanced Settings Page
- Proxy Mode
-
The Proxy Mode option allows you to specify how you want to configure the proxy server setting. There are three options available:
- No Proxy
- Auto-detect (Using system-configured proxy)
- Manual
- Proxy Server
-
Using the Proxy Server option allows you to specify the name of the proxy server for the connection.
- Port
-
The Port option allows you to specify the port number of the proxy server for the connection.
- Username (Proxy Server Authentication)
-
The Username option (under Proxy Server Authentication) allows you to specify the proxy user account.
- Password (Proxy Server Authentication)
-
The Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.
Note: The Proxy Password is not included in the connection manager's ConnectionString property by default. This is by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.
- Timeout
-
The number of seconds requests should wait before timing out.
- Retry on Intermittent Errors
-
The retry on intermittent errors option determines if requests will be retried when there is an error. If this option is checked requests will be retried up to 3 times.
- Ignore Certificate Errors
-
This option can be used to ignore those SSL certificate errors when connecting to Slack servers.
Warning: Enabling the "Ignore Certificate Errors" option is generally NOT recommended, particularly for production instances. Unless there is a strong reason to believe the connection is secure - such as the network communication is only happening in an internal infrastructure, this option should be unchecked for best security.
Custom Headers Page
The Custom Headers page will allow you to set the Header Name and Header Value. You may select the green icon to add another row, and the red icon to remove an existing header you have configured.