为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?

Posted

技术标签:

【中文标题】为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?【英文标题】:Why can't i query synapse serverless view from azure data studio or databricks?为什么我不能从 azure data studio 或 databricks 查询突触无服务器视图? 【发布时间】:2022-01-10 19:51:33 【问题描述】:

当我从 synpase studio 查询我的 delta 表时,我可以看到数据都很好。

但是当我通过 sql 登录(或 databricks)连接槽数据工作室时,似乎我无法查询它:

CREATE or alter view stock
as SELECT * 
FROM
    OPENROWSET(
        BULK 'https://tesdvsrc18732.dfs.core.windows.net/adlse-fr/be_stock/',
        FORMAT = 'DELTA'
    ) AS [result]

开始在 Line 1 Msg 15151, Level 16, State 1, Line 1 执行查询 找不到凭证 'https://tesdvsrc18732.dfs.core.windows.net/adlse-fr/be_stock/', 因为它不存在或者您没有权限。全部的 执行时间:00:00:00.025

我也看不到 UI 中的视图:

但是,如果通过 Azure Active Directory 连接,我可以看到它。

我们将不胜感激任何建议、观察或专业知识。 我从 azure databricks 收到相同的错误消息

【问题讨论】:

【参考方案1】:

我找到了一种方法来做我想做的事。所以我把它贴在这里。

在突触上

CREATE MASTER KEY

CREATE DATABASE SCOPED CREDENTIAL [SasToken_MyStorage]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '?sv=2020-08-04&ss=bfq****************************************************************************************************************************************************PA%3D';
GO
CREATE EXTERNAL DATA SOURCE [MyDataSource]
WITH ( LOCATION = 'https://tesdvsrc18732.dfs.core.windows.net',
CREDENTIAL = [SasToken_MyStorage]
)

我认为这个也是需要的,但不确定:

GRANT CONTROL ON DATABASE SCOPED CREDENTIAL :: [SasToken_MyStorage] TO userDatabricks

在数据块/数据工作室

query = """
CREATE or alter view dbo.stock
as SELECT * 
FROM
    OPENROWSET(
        BULK '/adlse-fr/be_stock/',
        FORMAT = 'DELTA',
        DATA_SOURCE = 'MyDataSource'
    ) AS [result]
"""

stmt = sql_con.createStatement()
stmt.executeUpdate(query)
stmt.close()

【讨论】:

很高兴知道您的问题已解决。 48 小时后,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充)。这对其他社区成员可能是有益的。谢谢。

以上是关于为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure Data Studio 备份和还原 Azure 数据库

如何从 Azure Data Studio 与 Docker 中托管的 SQL Server 2019 容器进行通信

为啥有些用户可以在 Synapse 工作区中看到链接的 Azure Data Lake Gen 2 资源,而其他用户却不能?

Azure Data Studio - 找不到备份选项

使用 Azure Data Studio 的适当角色和权限

Azure Data Studio 连接问题