java - AmazonS3Client(क्रेडेंशियल्स) पदावनत है




amazon-web-services amazon-s3 (3)

मैं अमेज़ॅन 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 फ़ाइल में दिए गए सैंपल कोड पर जाँच की है, और यह वही है।


आप S3 डिफ़ॉल्ट क्लाइंट निम्नानुसार बना सकते हैं (aws-java-sdk-s3-1.11.232 के साथ):

AmazonS3ClientBuilder.defaultClient();

आप विकल्प के रूप में या तो AmazonS3ClientBuilder या AwsClientBuilder उपयोग कर सकते हैं।

S3 के लिए, सरलतम AmazonS3ClientBuilder के साथ होगा,

BasicAWSCredentials creds = new BasicAWSCredentials("access_key", "secret_key"); 
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).build();

क्रेडेंशियल के बिना S3 क्लाइंट बनाने के लिए नीचे सूचीबद्ध कोड का उपयोग करें:

AmazonS3 s3Client = AmazonS3ClientBuilder.standard().build();

एक उपयोग उदाहरण S3 को कॉल करने वाला एक लंबो फ़ंक्शन होगा।





deprecated