【问题标题】:Parameterized Linked Service for MongoDB ConnectionMongoDB 连接的参数化链接服务
【发布时间】:2020-02-29 07:36:51
【问题描述】:

我正在尝试在 azure 数据工厂中参数化 mongo DB 连接的链接服务。我已经提到了文件here。 下面是我试图在链接服务的代码中更新的代码

{
"name": "MongoDB",
"properties": {
    "type": "MongoDbV2",
    "parameters": {
        "LSHeatStackConnection": {
            "type": "String",
            "defaultValue": "mongodb://username:password@1.1.1.4:1800/dbname?authMechanism=SCRAM-SHA-1;authSource=admin"
        }
    },
    "annotations": [],
    "typeProperties": {
        "connectionString": {
            "type": "SecureString",
            "value": "@{linkedService().LSHeatStackConnection}"
        },
        "database": "heatstack"
    },
    "connectVia": {
        "referenceName": "DevIR",
        "type": "IntegrationRuntimeReference"
    }
}
}

但我在保存上述代码时遇到以下错误。

未能发布 ****DB(链接服务名称)。原因:至少一项资源部署操作失败。请列出部署操作以了解详细信息。使用详情请查看https://aka.ms/arm-debug

当我尝试通过单击铅笔图标 来编辑链接服务并单击测试连接时,它显示成功。但是当我单击完成时,它会引发错误,并显示无法保存 *****DB。错误:无法加密子资源负载

以下是错误的屏幕截图。

【问题讨论】:

    标签: azure-data-factory-2


    【解决方案1】:

    Mongo DB(或 Cosmos DB Mongo API)的连接字符串格式与其他连接器的键/值对不同,因此它不能适合带有参数的有效负载加密框架,这些参数需要连接字符串的格式作为键值对时它是参数化的;如果在payload加密过程中在连接字符串中指定了任何参数,它将失败。

    到目前为止,我们无法直接参数化 MongoDB 的连接字符串。我们必须将连接字符串存储在 Key Vault 中,然后将密钥值作为参数传递。这是参数化 mongoDB 链接服务的唯一方法

    如果您对此有任何反馈/建议,请在 Azure Data Factory User voice forum

    中分享

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      相关资源
      最近更新 更多