Ошибки синтаксического анализа параметров объекта ADF в формате json

#azure #azure-data-factory

#azure #azure-data-factory

Вопрос:

У меня есть связанная служба для встроенного SQL-сервера с параметром типа Object с именем ConnectionDetails .

Когда я пытаюсь использовать кнопку test connection, используя следующий ввод json для ConnectionDetails, я получаю ошибки синтаксического анализа:

 {
    "ServerName" : "myserver.test.com",
    "DatabaseName" : "mydb",
    "UserName" : "myuser",
    "UserPasswordAKV" : "mypass-secret"
}

The parameters and expression cannot be resolved for schema operations. 

Error Message: {
    "Message": "After parsing a value an unexpected character was encountered: S. Path 'typeProperties.connectionString', line 19, position 69."
}
 

Я пробовал их в качестве своих выражений:

 @linkedService().ConnectionDetails.ServerName
@linkedService().ConnectionDetails.DatabaseName
@linkedService().ConnectionDetails.UserName
 

Связанный сервис JSON:

     {
        "name": "SqlServer_OnPrem_Dynamic2",
        "type": "Microsoft.DataFactory/factories/linkedservices",
        "properties": {
            "description": "",
            "parameters": {
                "ConnectionDetails": {
                    "type": "object"
                }
            },
            "annotations": [],
            "type": "SqlServer",
            "typeProperties": {
                "connectionString": "Integrated Security=False;Data Source=@{linkedService().ConnectionDetails.ServerName};Initial Catalog=@{linkedService().ConnectionDetails.DatabaseName};User ID=@{linkedService().ConnectionDetails.UserName}",
                "password": {
                    "type": "AzureKeyVaultSecret",
                    "store": {
                        "referenceName": "keys_dev",
                        "type": "LinkedServiceReference"
                    },
                    "secretName": {
                        "value": "@{linkedService().ConnectionDetails.UserPasswordAKV}",
                        "type": "Expression"
                    }
                }
            }
 

Не уверен, что я делаю неправильно, я не думал, что мне нужно использовать для этого какую-либо другую функцию.

Комментарии:

1. какую базу данных типа вы использовали? Где вы установили выражения? Можете ли вы показать нам какие-либо скриншоты?

2. @Leon Yue Я обновил исходное сообщение дополнительной информацией. Я должен упомянуть, что это соединение отлично работает, когда я использую простые строковые параметры вместо объекта json

3. Я согласен с вами. Я протестировал строковый и объектный тип параметра, все они выдают ошибку. Но я получаю сообщение об ошибке «Неожиданное завершение ввода JSON». Я предполагаю, что тип данных json не поддерживается.

Ответ №1:

Да, параметр типа объекта не может работать. Вы можете попробовать создать четыре параметра строкового типа, чтобы попробовать.

введите описание изображения здесь

Комментарии:

1. Есть идеи, почему это не сработает? Я имею в виду, что тип «объект» доступен в раскрывающемся списке и все.