我有一个已启动并正在运行的链接服务,从中可以运行简单的查询。
我的意图是将ETL的大多数逻辑封装在一个存储过程中,该存储过程是从Azure数据工厂“查找”组件计划和执行的。
但是,似乎无法使用在工作台上运行良好的常规CALL test_snowflake_sp()
来执行它。
我的存储过程由一个简单的查询组成,后跟“失败” /“成功”消息,出现以下错误消息:
活动获取值失败:失败发生在“源”端。 ErrorCode = UserErrorOdbcInvalidQueryString,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =以下ODBC查询无效:'CALL test_snowflake_sp()',Source = Microsoft.DataTransfer.Runtime.GenericOdbcConnectors,'
不幸的是,我没有Python访问权限可以在代码中运行它。
有人知道吗?
预先感谢
答案 0 :(得分:0)
您可以完全按照示例中的语法从Lookup中调用Snowflake存储的proc。确保为数据工厂用户授予了对proc的“使用”权限,并在您每次“创建或替换”该proc时重新授予许可(假定您已为其创建角色,则“将过程test_snowflake_sp()上的使用授予角色datafactory”) ADF用户)。