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

如何通过abfss:// URI从命令行下载存储账户目录?求可用工具

可直接使用abfss URI下载文件的工具推荐

ADLS / Azure Blobstore 提供的abfss格式URI示例:

abfss://feed-pipeline-workspace@smy-storage-account.dfs.core.windows.net/my-user/my-parquet.parquet

以下几个工具可以直接接收这类URI完成下载:

  • Azure Storage Explorer:图形化工具,完全支持直接输入abfss URI定位到目标文件,右键选择下载即可,无需拆分路径或转换格式,操作简单直观,还能统一管理存储账户内的各类资源。
  • rclone:命令行工具,原生支持abfss作为源地址,配置好Azure存储的访问权限(如SAS密钥、服务主体等)后,直接执行下载命令:
    rclone copy "abfss://feed-pipeline-workspace@smy-storage-account.dfs.core.windows.net/my-user/my-parquet.parquet" ./本地目标路径/
    
  • Python azure-storage-file-datalake库:如果需要代码实现下载,可直接解析abfss URI完成操作,示例代码:
    from azure.storage.filedatalake import DataLakeServiceClient
    
    abfss_uri = "abfss://feed-pipeline-workspace@smy-storage-account.dfs.core.windows.net/my-user/my-parquet.parquet"
    # 从URI中提取账户名、容器名和文件路径
    account_name = abfss_uri.split("@")[1].split(".")[0]
    container_name = abfss_uri.split("//")[1].split("@")[0]
    file_path = abfss_uri.split(f"{container_name}@{account_name}.dfs.core.windows.net/")[1]
    
    # 初始化客户端(需提前配置认证,比如存储账户连接字符串)
    service_client = DataLakeServiceClient.from_connection_string("你的存储账户连接字符串")
    file_client = service_client.get_file_client(container=container_name, file_path=file_path)
    
    # 下载到本地
    with open("./my-parquet.parquet", "wb") as local_file:
        download_stream = file_client.download_file()
        local_file.write(download_stream.readall())
    

另外补充下azcopy的URI转换方法:把abfss格式的abfss://<容器名>@<账户名>.dfs.core.windows.net/<文件路径>转换成https://<账户名>.dfs.core.windows.net/<容器名>/<文件路径>,之后通过az login完成认证或者在URL后追加SAS令牌,就可以正常使用azcopy copy命令下载,示例:

azcopy copy "https://smy-storage-account.dfs.core.windows.net/feed-pipeline-workspace/my-user/my-parquet.parquet" "./本地文件.parquet"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:05:16