AmazonS3Client(認証情報)は廃止されました 質問する

AmazonS3Client(認証情報)は廃止されました 質問する

質問で問題が説明されているように、Amazon S3 で利用可能なファイルを読み取ろうとしています。非推奨のコンストラクターの代替呼び出しを見つけることができませんでした。

コードは次のとおりです:

private String AccessKeyID = "xxxxxxxxxxxxxxxxxxxx";
private String SecretAccessKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
private static String bucketName     = "documentcontainer";
private static String keyName     = "test";
//private static String uploadFileName    = "/PATH TO FILE WHICH WANT TO UPLOAD/abc.txt";

AWSCredentials credentials = new BasicAWSCredentials(AccessKeyID, SecretAccessKey);

void downloadfile() throws IOException
{

    // Problem lies here - AmazonS3Client is deprecated
    AmazonS3 s3client = new AmazonS3Client(credentials);
        try {
        System.out.println("Downloading an object...");
        S3Object s3object = s3client.getObject(new GetObjectRequest(
                bucketName, keyName));
        System.out.println("Content-Type: "  +
                s3object.getObjectMetadata().getContentType());
        InputStream input = s3object.getObjectContent();

        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        while (true) {
            String line = reader.readLine();
            if (line == null) break;

            System.out.println("    " + line);
        }
        System.out.println();
    } catch (AmazonServiceException ase) {
          //do something
    } catch (AmazonClientException ace) {
        // do something
    }
 }

何か助けが必要ですか? さらに説明が必要な場合はお知らせください。SDK の .zip ファイルで提供されているサンプル コードを確認しましたが、同じです。

ベストアンサー1

次のいずれかを使用できますAmazonS3クライアントビルダーまたはAwsクライアントビルダー代替として。

S3 の場合、最も簡単なのは ですAmazonS3ClientBuilder

BasicAWSCredentials creds = new BasicAWSCredentials("access_key", "secret_key"); 

AmazonS3 s3Client = AmazonS3ClientBuilder
    .standard()
    .withCredentials(new AWSStaticCredentialsProvider(creds))
    .build();

おすすめ記事