Мы используем виджеты сценариев в ADF для выполнения хранимых процедур Snowflake. Виджет сценария подключается к нашей базе данных Snowflake с помощью службы, связанной со Snowflake. Мы получили сообщение о том, что мы используем устаревшие драйверы, и нам было предложено воссоздать связанную службу. Поэтому я добросовестно создал новый сервис, связанный со Snowflake, он подключается к базе данных Snowflake, так что с этой частью все в порядке.
Когда я захожу в конвейер с объектом сценария, используя старый драйвер, он выглядит примерно так: Текущий тестовый конвейер с использованием старой связанной службы Snowflake
{
"name": "old snowflake connector",
"properties": {
"activities": [
{
"name": "usp_truncate_table",
"description": "",
"type": "Script",
"dependsOn": [],
"policy": {
"timeout": "0.12:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"linkedServiceName": {
"referenceName": "snowflake_linked_service",
"type": "LinkedServiceReference"
},
"typeProperties": {
"scripts": [
{
"parameters": [
{
"name": "schema_name",
"type": "String",
"value": "staged",
"direction": "Input"
},
{
"name": "table_name",
"type": "String",
"value": "brink_order",
"direction": "Input"
},
{
"name": "jobrunid",
"type": "String",
"value": {
"value": "@pipeline().RunId",
"type": "Expression"
},
"direction": "Input"
},
{
"name": "pipelinerunid",
"type": "String",
"value": {
"value": "@pipeline().RunId",
"type": "Expression"
},
"direction": "Input"
}
],
"type": "Query",
"text": "call meta.usp_truncate_table(?,?,?,?);"
}
],
"scriptBlockExecutionTimeout": "02:00:00"
}
}
],
"folder": {
"name": "Source System/misc ad hoc"
},
"annotations": []
}
}
Обратите внимание, что у меня есть параметры.
Когда я пытаюсь использовать новую связанную службу «снежинка», я не могу создать какие-либо параметры.
Новый виджет «Скрипт» выглядит следующим образом Виджет с использованием нового соединителя Snowflake Linked
{
"name": "new snowflake connector",
"properties": {
"activities": [
{
"name": "Truncate Staged",
"type": "Script",
"dependsOn": [],
"policy": {
"timeout": "0.12:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"linkedServiceName": {
"referenceName": "snowflake_linked_svc",
"type": "LinkedServiceReference"
},
"typeProperties": {
"scripts": [
{
"type": "Query",
"text": "call meta.usp_truncate_table(?,?,?,?);"
}
],
"scriptBlockExecutionTimeout": "02:00:00"
}
}
],
"folder": {
"name": "Source System/misc ad hoc"
},
"annotations": []
}
}
На этот раз опция «Параметры сценария» отсутствует.
Кто-нибудь еще сталкивался с этой проблемой?
Я попытался воспроизвести проблему и столкнулся с аналогичной проблемой. В новом соединителе снежинки ADF параметр сценария недоступен. Чтобы обойти эту проблему, вы можете напрямую использовать переменные и параметры конвейера непосредственно в запросе.
@GeorgeHutto Хорошо принять решение, если оно решило проблему. Это во благо сообщества SO, смотрите SO Ссылка
Спасибо. Я надеялся, что мне не придется переделывать все объекты сценария, чтобы приспособить эту новую «недокументированную функцию», но, похоже, у меня нет выбора. Я ценю ваш вклад.