Предварительно скопировать скрипт в фабрику данных или на лету обрабатывать данные - PullRequest
0 голосов
/ 18 мая 2018

Я копирую данные из источника, API и копирую их в базу данных SQL Azure.Но в одном из столбцов я получаю объекты Json.

В любом случае, я могу использовать динамические параметры (через сценарий предварительного копирования или что-то еще) в конвейере, чтобы получать значение определенного тега из этих объектов json, чтобы в столбце можно было указывать только это значение.,Единственное ограничение - я не могу поменять раковину.Это должна быть база данных SQL Azure.

Объект Json, который я получаю: [{"self": "https://xxxxxxxx.jira.com/rest/api/2/customFieldOption/11903","value":"Yes","id":"11903"}]

И мне нужен только ответ тега 'value', а не полный json.

1 Ответ

0 голосов
/ 18 мая 2018

Сценарий предварительного копирования - это сценарий, который запускается для базы данных перед копированием новых данных, а не для изменения данных, которые вы принимаете.

Что вы можете сделать, если не можете изменить приемник, этосохраните данные в другой таблице, используя поле varchar для json.Затем добавьте другое действие в свой конвейер, где вы берете эти данные и сохраняете их в фактической таблице.В этом втором упражнении вы можете использовать операторы t-sql, чтобы изменить sqlQuery операции копирования, чтобы извлечь из него требуемое значение.

Это будет полезно при разработке запроса: https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-2017

Надеюсь, это помогло!:)

PS: во втором упражнении используйте это, чтобы получить «значение»

select JSON_VALUE(fieldWhereYouStoredTheJson, '$[0].value') as jsonValue from temporaryTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...