You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Synapse中使用BULK OPENROWSET能否获取文件路径/URL?

在Azure Synapse Serverless SQL中返回JSON文件路径/URL

完全可以实现,你只需要在OPENROWSET的WITH子句中使用**filepath()或filename()**函数提取文件路径或名称,再将其作为额外列返回。

修改后的查询示例

SELECT TOP 100 
    full_file_url,
    someColumn1,
    someColumn2
FROM OPENROWSET(
   BULK 'https://********.dfs.core.windows.net/some/path/**',
   FORMAT = 'csv',
   FIELDTERMINATOR ='0x0b',
   FIELDQUOTE = '0x0b',
   ROWTERMINATOR = '0x0b' 
) WITH (
    doc NVARCHAR(MAX),
    -- 获取通配符匹配的文件路径片段(对应BULK路径中的**)
    relative_path VARCHAR(1000) AS filepath(1),
    -- 拼接生成完整文件URL
    full_file_url VARCHAR(1000) = CONCAT('https://********.dfs.core.windows.net/some/path/', filepath(1))
) AS ROWS
OUTER APPLY OPENJSON ( [doc] )
WITH (
    [someColumn1] INT '$.someProperty1',
    [someColumn2] INT '$.someProperty2'
) AS someData

关键说明

  • filepath(n): 当BULK路径使用通配符(如**)时,filepath(1)返回与第一个通配符匹配的路径片段;若路径包含多个通配符(如*/**),可依次用filepath(2)获取后续片段。
  • filename(): 若仅需返回文件名(不含路径),可在WITH子句中添加file_name VARCHAR(255) AS filename()。
  • 拼接完整URL时,需替换示例中的存储账户和基础路径为你实际的信息,确保路径拼接准确。

内容的提问来源于stack exchange,提问作者Allen Rufolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:20:30