使用 Scala 将文件写入 Amazon S3 AWS Storage

Mau*_*ace 1 java scala amazon-s3 amazon-web-services apache-spark

这是我的代码的一部分:

   val file=new File("s3a://tracce/output/Tempi.txt") 
   val writer=new BufferedWriter(new FileWriter(file,true))
   writer.write("Execution Time trace "+count.toString+"x"+i.toString+": "+differenza.toString)
   writer.newLine()
   writer.flush()
   writer.close()
Run Code Online (Sandbox Code Playgroud)

我需要使用 Scala 将一个新文件写入我的存储桶中。我收到此错误:

Exception in thread "main" java.io.FileNotFoundException:     s3:/tracce/output/Tempi.txt (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

当我尝试将其保存在本地时,它有效:

val file=new File("./Tempi.txt")
Run Code Online (Sandbox Code Playgroud)

我该如何解决呢?提前致谢

grn*_*rnc 8

您现在可以使用 AWS Java SDK 直接编写它。这是例子;

import com.amazonaws.services.s3.{AmazonS3, AmazonS3ClientBuilder}

val s3Client: AmazonS3 = AmazonS3ClientBuilder.defaultClient()

val bucketName = "bucket-name"
val objectKey = "object-key"
val objectContent = "This is the file content."

s3Client.putObject(bucketName, objectKey, objectContent)

Run Code Online (Sandbox Code Playgroud)