在数据工厂或动态数据处理中预复制脚本

Pre-copy script in data factory or on the fly data processing

我正在从源 API 复制数据,并将其复制到 Azure SQL 数据库中。但是在其中一个专栏中,我得到了 Json 个对象。

我可以在管道中使用动态参数(通过预复制脚本或其他方式)的任何方式来仅从那些 json 对象中获取特定标签的值,以便我只能拥有该值在专栏中。唯一的限制是我不能更换水槽。它必须是 Azure SQL 数据库。

Json 我得到的对象: [{"self":"https://xxxxxxxx.jira.com/rest/api/2/customFieldOption/11903","value":"Yes","id":"11903"}]

我只想要 'value' 标签响应而不是完整的 json。

预复制脚本是您在复制新数据之前针对数据库 运行 的脚本,而不是修改您正在摄取的数据。

如果不能更改接收器,您可以做的是将数据存储在不同的 table 中,使用 json 的 varchar 字段。然后在您的管道中添加另一个 activity,您可以在其中获取此数据并将其存储在实际的 table 中。在这第二个activity中,你可以使用t-sql语句修改副本activity的sql查询,从中提取你想要的值。

这在设计查询时很有用:https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-2017

希望对您有所帮助! :)

PS:在第二个activity中,用这个得到"value"

select JSON_VALUE(fieldWhereYouStoredTheJson, '$[0].value') as jsonValue from temporaryTable