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

使用AzureStor包从Azure Blob存储下载JSON文件到R时遇错误求助

问题描述

尝试从Azure Blob容器下载数据,使用AzureStor包操作时遇到错误。具体步骤与报错如下:

  • 生成Blob容器对象:
cont<-blob_container('https://AccountName.blob.core.windows.net/BlobContainer',key='AccountKey')
  • 获取Blob内文件列表:
list_files_blob<-list_blobs(cont, dir = "path where files are located")
  • 执行批量下载,目标是将所有文件保存到同一本地文件夹:
multidownload_blob(cont,src = list_files_blob$name ,dest = 'path to copy files',overwrite = T)

运行后触发错误:

Error: 'dest' must contain one name per file in 'src'

当前环境:R版本4.1.2,AzureStor包版本3.7.0。

解决方案

multidownload_blob要求dest参数的长度必须与src完全匹配,即每个源文件对应一个具体的本地文件路径。要实现所有文件保存到同一文件夹,只需为每个源文件拼接完整的本地路径即可:

修改下载代码如下:

# 指定本地目标文件夹路径
local_target_dir <- 'path to copy files'
# 为每个源文件生成对应的本地完整路径(提取文件名后与目标文件夹拼接)
dest_full_paths <- file.path(local_target_dir, basename(list_files_blob$name))
# 执行批量下载
multidownload_blob(cont, src = list_files_blob$name, dest = dest_full_paths, overwrite = T)

代码中basename()用于提取Blob文件的纯文件名(避免将云端的目录结构同步到本地),再通过file.path()与目标文件夹路径组合,生成与src长度一致的dest向量,即可完成批量下载到同一文件夹的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:05:28