私はs3バケットの下にフォルダをリストしようとしています。問題はS3ブラウザツールを使って4つのフォルダを見ることができますが、バケツの下のフォルダのリストを取得するのにjava/scalaコードを使用すると、 1つのフォルダ。単純なAWS-JAVA-SDKを使用して次のコードを使用しました。S3 java APIがフォルダを正しく一覧表示していません。
val awsCreds: BasicAWSCredentials = new BasicAWSCredentials(accessKey, accessSecret)
val s3: AmazonS3 = new AmazonS3Client(awsCreds)
val listObjectsRequest = new ListObjectsRequest()
.withBucketName(bucketName).withPrefix(prefix)
.withDelimiter(delimiter);
val objectListing = s3.listObjects(listObjectsRequest);
val directories = objectListing.getCommonPrefixes
println(directories.mkString(","))
それは1つのフォルダのみ/ステージング
を印刷し、私もawsScalaライブラリを試してみましたが、次のコード
val bucket = s3.bucket("prod-tapp").get
val summaries=s3.ls(bucket, "/")
summaries.foreach(println(_))
しかし、同じ結果を使用していました。
Windows上のaws s3ブラウザのデスクトップアプリケーションを使用して正しいフォルダが表示されます。ここに結果のスクリーンショットがあります。
ご提案がありますか?
おかげ
すべての「フォルダ」にファイルが含まれていますか?私はあなたがフォルダにS3が本当に存在しないことを理解していると思う - むしろ、Common Prefixesはパスに基づいてオブジェクトをグループ化する方法として使用されます。 –
はい、すべてのフォルダにファイルが含まれています。 – user3313379
'デリミタ=="/"'ですか? –