これが私のエラーの説明です。Eucalyptus(オープンソース)に2人のユーザーA、Bを登録しました。ユーザーAのアカウントでJets3tAPIを使用してバケットB1を作成し、ユーザーBに読み取り権限を付与しました(「CanonicalGrantee」インターフェイスを使用)。Aのクレデンシャルを使用してアクセス制御リストを一覧表示しているときに、AのFULL_CONTROLとBのREADを取得しました。しかし、Bのクレデンシャルを使用してバケットB1情報にアクセスしようとすると、このエラーが発生しました。
スレッド「main」の例外org.jets3t.service.S3ServiceException:アクションlistObjectsは、無効なバケットでは実行できません:test.ObjectPermission.main(のorg.jets3t.service.S3Service.listObjects(S3Service.java:1410)でnull ObjectPermission.java:40)
問題のあるコードは S3Bucket publicBucket =s3Service.getBucket("B1");
ここで、B1はバケットがユーザーAに属しています。上記のコードでは、s3serviceはnull値を返します。s3serviceは、B'クレデンシャルの下で作成された情報のみを取得することを知っています。
これを解決し、Jets3tAPIを使用して共有バケットにアクセスする方法がわかりません