In this section https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment#create-a-resource-manager-template-for-each-environment
when trying to fill in the "Custom Deployment Settings" values I'm unable to identify the format of a connection string, for example what if I access a SQL server database on-prem using a windows authentication service account and a password, I know how to do this in ADF itself but unable to get the right format in these settings, same question for the other data source types.
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
@saulcruz
Thanks for the feedback! We are currently investigating and will update you shortly.
@saulcruz For the properties of a SQL Server linked service, see Copy data to and from SQL Server using Azure Data Factory | Linked service properties. Connection strings for other linked services are documented in separate pages for each service.
The easiest way to verify the correct connection string for a linked service is to
I'll be adding a notation to the article with this suggestion.
Douglas, the link provided helped me to figure out the notation. I was actually trying to get the connection string from the steps that you mentioned, however the connection strings are not generated in the same format.
all I needed was this:
Data Source=<servername>\\<instance name if using named instance>;Initial Catalog=<databasename>;Integrated Security=False;User ID=<username>;Password=<password>;
Much appreciated
@saulcruz Thanks for the info. This is not something that I've experimented with personally. Are you saying that if you create the linked service in the UI and generate an ARM template for it, that the connection string doesn't work? Or simply that the format isn't identical?
correct, the format isn't identical, it looks like this:
{
"name": "[concat(parameters('factoryName'), '/ls_sql_dev_MyName')]",
"type": "Microsoft.DataFactory/factories/linkedServices",
"apiVersion": "2018-06-01",
"properties": {
"annotations": [],
"type": "SqlServer",
"typeProperties": {
"connectionString": "[parameters('ls_sql_dev_MyName_connectionString')]",
"userName": "[parameters('ls_sql_dev_MyName_properties_typeProperties_userName')]",
"password": {
"type": "SecureString",
"value": "[parameters('ls_sql_dev_MyName_password')]"
}
},
"connectVia": {
"referenceName": "iriisvm",
"type": "IntegrationRuntimeReference"
}
},
"dependsOn": [
"[concat(variables('factoryId'), '/integrationRuntimes/iriisvm')]"
]
}
@saulcruz Uh ... I see. Let me ask for clarification about the advice that was passed on to me.
@saulcruz Apparently I received out-of-date advice, and - as is obvious in your example - the exported ARM template is now parameterized as much as possible. One alternative way to check the connection string in the UI is by opening the code view for the resource. In this view, however, the password or account key portion of the connection string is removed.
Correct, I understand why this is parameterized as much as possible, thanks a lot though for taking the time to look this up, your link really solved my problem @douglaslMS
@saulcruz Thanks to your question, we have added a bit of guidance to the article. Please see the paragraph titled "Connection strings" at the end of the section. Continuous integration and deployment in Azure Data Factory | Create a Resource Manager template for each environment. We're now going to close this issue.
Most helpful comment
@saulcruz
Thanks for the feedback! We are currently investigating and will update you shortly.