我想在链接的服务之间传递参数。我在文档中没有找到任何相关内容。
我的第一个链接服务是参数化密钥库。
{
"name": "ParametrizedAzureKeyVault",
"properties": {
"type": "KeyvaultName",
"typeProperties": {
"baseUrl": "https://@{linkedService().KeyvaultName}.vault.azure.net/"
},
"parameters": {
"KeyvaultName": {
"type": "String"
}
}
}
}
我的第二个链接服务是 sftp 连接(我知道这里只是缺少主机、端口、密码和用户)。你可以看到我添加了这个“子参数”我发明的。它不存在,显然不起作用。 只是添加它来解释我的目标。
{
"properties": {
"parameters": {
"KeyvaultName": {
"type": "string",
"defaultValue": "defaultValue"
},
"type": "Sftp",
"typeProperties": {
"host": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "ParametrizedAzureKeyVault",
"type": "LinkedServiceReference",
"subparameters":"@{linkedService().KeyvaultName}"
},
"secretName": "secretServer"
},
"skipHostKeyValidation": true
},
"annotations": []
}
}
我看到密钥库是从 sftp 链接服务调用的。但是我如何在那里添加一个参数以便我可以使用参数化的keyvault?这可能吗? 否则,任何建议或观察将不胜感激。提前致谢!
答案 0 :(得分:1)
您可以按照以下链接中的说明参数化 LS: Parameterize Self hosted integration runtime in ADF ARM Template
w.r.t SFTP :
{
"properties": {
"type": "Sftp",
"annotations": [],
"parameters": {
"Host": {
"type": "string",
"defaultValue": ""
},
"Port": {
"type": "string",
"defaultValue": ""
},
"UserNm": {
"type": "string",
"defaultValue": ""
},
"SecretNm": {
"type": "string",
"defaultValue": ""
}
},
"typeProperties": {
"host": "@linkedService().Host",
"port": "@linkedService().Port",
"skipHostKeyValidation": true,
"authenticationType": "Basic",
"userName": "@linkedService().UserNm",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "LS_AzureKeyvault_AEAP_Core",
"type": "LinkedServiceReference"
},
"secretName": "@linkedService().SecretNm"
}
},
"connectVia": {
"referenceName": "IR-Ava",
"type": "IntegrationRuntimeReference"
}
}
}
此部分在链接服务中的动态内容下。