sql - 如何在 IDE 中将 Synapse Analytics SQL 脚本(JSON 格式)读取为 SQL 脚本?

标签 sql azure azure-synapse

我有一个 Synapse Git 项目,它在 Azure 门户中创建了 SQL 脚本,如下所示 Microsoft Docs SQL Script挑战在于,在 GIT 中,它们显示为这种庞大的 JSON 文件,我很乐意将其作为 SQL 文件 DBEAVER 或 IntelliJ 阅读……

有什么方法可以做到这一点,而无需手动选择文件的查询部分并对其进行清理吗?

最佳答案

首先一些背景

Synapse 以 JSON 格式存储所有工件。在 Git 存储库中,它们位于以下文件夹结构中:

Synapse Git Folders

每个文件夹内都有定义工件的 JSON 文件。文件夹 sqlscript 包含 SQL 脚本的 JSON,格式如下:

enter image description here

注意:脚本的 Synapse 文件夹只是一个属性 - 这就是为什么所有 SQL 脚本名称在整个工作区中必须是唯一的。

提取脚本

工作区允许您将 SQL 导出到 .sql 文件: enter image description here

有缺点:您必须手动执行,一次 1 个文件,并且无法控制输出位置或 SQL 文件名。

要从 JSON 中提取 SQL,您必须访问 properties.content.query 属性值并将其保存为 .sql 文件。据我所知,没有内置功能可以自动将脚本保存为 SQL。由于 \n 的原因,简单的复制/粘贴实际上不起作用。

我认为您可以使用 Azure DevOps Pipeline(或 GitHub Action)至少实现部分自动化。您可能需要将 JSON 文件复制到另一个位置,然后让一个进程(数据工厂、Azure 函数、逻辑应用程序等)读取该文件并提取查询。

关于sql - 如何在 IDE 中将 Synapse Analytics SQL 脚本(JSON 格式)读取为 SQL 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71070882/

相关文章:

c# - Azure AD 身份验证会记住所选的帐户。如何阻止这个

Azure Synapse Pipeline - 在本地服务器上执行可执行文件

sql - 性别存储和数据类型

mysql - SQL存储过程未知错误

Azure:结合 Web 和辅助角色:应用程序池回收

c# - SSIS 2015 脚本任务将文本文件转换为 C# 或 VB 中的 UTF8

azure - 将数据从 databricks 写入 Azure synapse 专用池时出错

sql - 谁能推荐一个好的 SQL 解析器?

sql - 如何获取表中每一列的空值计数

azure - 在 Azure 上暂存或登陆