scala - 将 S3 位置的文件名保存在数组中
问题描述
我有 S3 位置,例如s3://bucket-name/folder-parquet/
. 我想从此位置获取所有文件名并将其保存在一个数组中。
因此,如果我们有类似的文件,part-0000.parquet
那么我的数组应该是:part-0001.parquet
s3://bucket-name/folder-parquet/
array = ['part-0000.parquet','part-0001.parquet']
解决方案
这是使用 s3-scala 库的解决方案:
import jp.co.bizreach.s3scala.S3
import awscala.Region
implicit val region = Region.Mumbai
implicit val s3 = S3(accessKeyId = "accessKeyId", secretAccessKey = "secretAccessKey")
val bucketName = "bucketName"
val folderName = "folderName" // s3 object
val filePathList = s3.bucket(bucketName).get.keys(s"$folderName/").toList
val fileNameList = filePathList.map(_.replace(s"$folderName/", "")).drop(1)
println(fileNameList)
推荐阅读
- javascript - Typescript Pact.io 测试出错:PopsicleError:无法连接到
- javascript - VueJS一次在子组件上显示一个元素
- html - 打印时如何保持页面的 1:1 比例
- drupal - Acquia Dev Desktop 安装后步骤出现问题
- python - Python:为什么我不能在 def 函数(这里)中放入例如(x+1)?
- php - 无法导入从 yii 项目导出的 mysql 数据库
- logic - 转换为一阶逻辑
- ruby-on-rails - AWS Elastic Beanstalk 上的 Rails 应用程序:错误的 nginx 配置
- python - Pymongo 根据第一个集合中链接的 ObjectId 查询第二个集合
- c++ - 将(n个第一个字节)无符号字符指针转换为浮点数和双精度C++