를 시작합니다.AWS SDK for Java2.x - AWS SDK for Java

이제 을 사용할 수 있습니다. Amazon S3전송 관리자 (개발자 미리 보기)의AWS SDK for Java빠른 파일 전송의 경우 2.x입니다. 한 번 시도해보고어떻게 생각하는지 알려주세요!

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 시작합니다.AWS SDK for Java2.x

이AWS SDK for Java2.x는 자바 API를 제공합니다Amazon Web Services(AWS). SDK를 사용하여Amazon S3,Amazon EC2,DynamoDB등.

이 자습서에서는 사용 방법을 보여 줍니다.Apache Maven에 대한 종속성을 정의AWS SDK for Java에 연결하는 코드를 작성하십시오.Amazon S3파일을 업로드합니다.

이 자습서를 완료하려면 다음 단계를 수행하십시오.

1단계: 이 자습서에 대해 설정

이 자습서를 시작하려면 활성 AWS 계정 ,AWS Identity and Access Management(IAM) 사용자에게 프로그래밍 방식의 액세스 키와Amazon S3에 대한 자격 증명으로 해당 액세스 키를 사용하도록 구성된 Java 개발 환경AWS.

이 자습서를 설정하려면 다음 단계를 따릅니다.

계정 생성

당신이하지 않은 경우 AWS 계정 에 대한 자세한 내용은the Amazon Web Services가입 페이지를 클릭하고 화면에 표시되는 메시지에 따라 새 계정을 생성하고 활성화합니다. 자세한 지침은 단원을 참조하십시오.새 를 생성 및 활성화하려면 어떻게 해야 합니까 AWS 계정 ?.

새 기능을 활성화한 후 AWS 계정 의 지시 사항을 따르세요.첫 번째 생성IAM관리자 및 그룹의IAM사용 설명서. 액세스 할 때 루트 계정 대신 이 계정을 사용 하 여AWS콘솔. 자세한 내용은 단원을 참조하십시오. IAM사용 설명서.

IAM 사용자 생성

이 자습서를 완료하려면IAM에 대한 읽기 및 쓰기 권한이 있는 사용자Amazon S3. 에 요청을 하려면Amazon Web Services를 사용하여AWS SDK for Java자격 증명으로 사용할 액세스 키를 생성합니다.

  1. 에 로그인합니다.the IAM콘솔

  2. 왼쪽에 있는 탐색 창에서 Users(사용자)를 선택합니다. 그런 다음 사용자 추가(Add user)를 선택합니다.

  3. Enter테스트SDK사용자 이름를 선택하고프로그래밍 방식 액세스확인란을 선택합니다. [다음: 권한(Next: Permissions)]을 선택합니다.

  4. Un권한 설정를 선택합니다.기존 정책 직접 연결.

  5. 정책 목록에서 정책 정책 및AmazonS3FullAccess정책을 참조하십시오. [다음: 권한(Next: Tags)]를 선택합니다.

  6. [다음: 권한(Next: Review)]를 선택합니다. 그런 다음사용자 생성.

  7. 성공화면에서.csv 다운로드.

    다운로드한 파일에는 이 자습서의 액세스 키 ID 및 보안 액세스 키가 포함되어 있습니다. 보안 액세스 키를 암호로 취급합니다. 신뢰할 수 있는 위치에 저장하고 공유하지 마십시오.

    참고

    그럴 것입니다.하지비밀 액세스 키를 다운로드하거나 복사 할 수있는 또 다른 기회가 있어야합니다.

자바와 아파치 메이븐 설치

개발 환경은 자바 8 이상 아파치 메이븐이 설치되어 있어야합니다.

자격 증명 구성

액세스 키 ID 및 보안 액세스 키를 사용하여 개발 환경을 구성합니다. 이AWS SDK for Java는 애플리케이션이 요청할 때 이 액세스 키를 자격 증명으로 사용합니다.Amazon Web Services.

  1. 텍스트 편집기에서 다음 코드를 사용하여 새 파일을 생성합니다.

    [default] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
  2. 방금 만든 텍스트 파일에서사용자 액세스 키당신의 고유AWS액세스 키 ID 및사용자 비밀번호_액세스 키당신의 고유AWS보안 액세스 키입니다.

  3. 파일 확장명 없이 파일을 저장합니다. 운영 체제에 따라 올바른 파일 위치 및 이름을 확인하려면 다음 표를 참조하십시오.

    운영 체제 파일 이름

    Windows가 설치된

    C:\Users\<yourUserName>\.aws\credentials

    Linux, macOS, Unix

    ~/.aws/credentials

2단계: 프로젝트 생성

이 튜토리얼의 프로젝트를 만들려면 먼저 Maven 프로젝트를 만듭니다. 다음으로, 다음에 대한 종속성을 사용하여 프로젝트를 구성합니다.AWS SDK for Java에 대한 AWS 서비스 를 사용할 수 있습니다 (예:Amazon S3. 그런 다음 Java 1.8을 사용하도록 메이븐 컴파일러를 구성합니다.

  1. 터미널 또는 명령 프롬프트 창을 열고 원하는 디렉토리 (예: 바탕 화면 또는 홈 폴더) 로 이동합니다.

  2. 다음 명령을 사용하여 새 디렉터리를 생성합니다.myapp프로젝트 구성 파일 (pom.xml) 와 기본 Java 클래스를 사용할 수 있습니다.

    mvn -B archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.example.myapp \ -DartifactId=myapp

에 대한 종속성을 사용하여 프로젝트를 구성하려면AWS SDK for Java및Amazon S3Java 1.8을 사용하려면

  • 폴더에서myapp이전 절차에서 생성한pom.xml파일을 엽니다. 해당 콘텐츠를 다음 코드로 바꾼 다음 변경 내용을 저장합니다.

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <groupId>com.example.myapp</groupId> <artifactId>myapp</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>myapp</name> <dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.16.60</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build> </project>

dependencyManagement섹션에 대한 종속성이 포함되어 있는AWS SDK for Java및dependencies섹션에 대한 종속성이 있습니다.Amazon S3. 아파치 메이븐 컴파일러 플러그인은buildJava 1.8을 사용하려면 섹션을 참조하십시오.

3단계: 코드 쓰기

프로젝트를 만들고 구성한 후 프로젝트의 기본 클래스 편집App아래 예제 코드를 사용하십시오.

아래의 예제 클래스는에 대한 서비스 클라이언트를 만듭니다Amazon S3그런 다음 텍스트 파일을 업로드하는 데 사용합니다. 에 대한 서비스 클라이언트를 만들려면Amazon S3, 인스턴스화S3클라이언트정적 팩토리 메서드를 사용하여builder. 파일을 에 업로드하려면Amazon S3, 먼저 빌드PutObjectRequest객체로, 버킷 이름과 키 이름을 제공합니다. 그런 다음 S3Client의putObject메서드를 사용하여RequestBody를 포함하는 객체 내용과PutObjectRequest객체를 반환합니다.

  1. 프로젝트 폴더에서myapp디렉터리로 이동합니다.src/main/java/com/example/myapp. App.java 파일을 엽니다.

  2. 콘텐츠를 다음 코드로 바꾼 다음 파일을 저장합니다.

    package com.example.myapp; import java.io.IOException; import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.model.CreateBucketConfiguration; import software.amazon.awssdk.services.s3.model.CreateBucketRequest; import software.amazon.awssdk.services.s3.model.DeleteBucketRequest; import software.amazon.awssdk.services.s3.model.DeleteObjectRequest; import software.amazon.awssdk.services.s3.model.HeadBucketRequest; import software.amazon.awssdk.services.s3.model.PutObjectRequest; import software.amazon.awssdk.services.s3.model.S3Exception; import software.amazon.awssdk.services.s3.S3Client; public class App { public static void main(String[] args) throws IOException { Region region = Region.US_WEST_2; S3Client s3 = S3Client.builder().region(region).build(); String bucket = "bucket" + System.currentTimeMillis(); String key = "key"; tutorialSetup(s3, bucket, region); System.out.println("Uploading object..."); s3.putObject(PutObjectRequest.builder().bucket(bucket).key(key) .build(), RequestBody.fromString("Testing with the {sdk-java}")); System.out.println("Upload complete"); System.out.printf("%n"); cleanUp(s3, bucket, key); System.out.println("Closing the connection to {S3}"); s3.close(); System.out.println("Connection closed"); System.out.println("Exiting..."); } public static void tutorialSetup(S3Client s3Client, String bucketName, Region region) { try { s3Client.createBucket(CreateBucketRequest .builder() .bucket(bucketName) .createBucketConfiguration( CreateBucketConfiguration.builder() .locationConstraint(region.id()) .build()) .build()); System.out.println("Creating bucket: " + bucketName); s3Client.waiter().waitUntilBucketExists(HeadBucketRequest.builder() .bucket(bucketName) .build()); System.out.println(bucketName +" is ready."); System.out.printf("%n"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } public static void cleanUp(S3Client s3Client, String bucketName, String keyName) { System.out.println("Cleaning up..."); try { System.out.println("Deleting object: " + keyName); DeleteObjectRequest deleteObjectRequest = DeleteObjectRequest.builder().bucket(bucketName).key(keyName).build(); s3Client.deleteObject(deleteObjectRequest); System.out.println(keyName +" has been deleted."); System.out.println("Deleting bucket: " + bucketName); DeleteBucketRequest deleteBucketRequest = DeleteBucketRequest.builder().bucket(bucketName).build(); s3Client.deleteBucket(deleteBucketRequest); System.out.println(bucketName +" has been deleted."); System.out.printf("%n"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } System.out.println("Cleanup complete"); System.out.printf("%n"); } }

4단계: 애플리케이션 빌드 및 실행

프로젝트가 생성되고 예제 클래스가 포함되면 응용 프로그램을 빌드하고 실행합니다. 업로드 된 파일을 보려면Amazon S3콘솔에서 코드를 편집하여 정리 단계를 제거한 다음 프로젝트를 다시 빌드합니다.

  1. 터미널 또는 명령 프롬프트 창을 열고 프로젝트 디렉토리로 이동합니다.myapp.

  2. 다음 명령을 사용하여 프로젝트를 빌드합니다.

    mvn package
  3. 터미널 또는 명령 프롬프트 창을 열고 프로젝트 디렉토리로 이동합니다.myapp.

  4. 다음 명령을 사용하여 애플리케이션을 실행합니다.

    mvn exec:java -Dexec.mainClass="com.example.myapp.App"

애플리케이션을 실행하면 새로운 텍스트 파일이Amazon S3. 그런 다음 파일과 버킷도 삭제됩니다.

  1. InApp.java줄을 주석으로 처리합니다.cleanUp(s3, bucket, key);파일을 저장하고 저장합니다.

  2. 를 실행하여 프로젝트를 다시 빌드합니다.mvn package.

  3. 를 실행하여 파일을 업로드합니다.mvn exec:java -Dexec.mainClass="com.example.myapp.App"를 다시 실행합니다.

  4. 에 로그인합니다.S3 콘솔를 클릭하여 새로 생성된 버킷에서 새 파일을 봅니다.

파일을 확인한 후 객체를 삭제한 다음 버킷을 삭제하여 테스트 리소스를 정리합니다.

성공!

Maven 프로젝트가 오류없이 빌드되고 실행되면 축하합니다! 당신은 성공적으로 사용하여 첫 번째 Java 응용 프로그램을 구축했습니다AWS SDK for Java.

Cleanup

이 자습서에서 생성한 리소스를 정리하려면 다음을 수행합니다.

  • InS3 콘솔에서 애플리케이션을 실행할 때 생성된 객체 및 버킷을 모두 삭제합니다.

  • Inthe IAM콘솔에서테스트SDK사용자가 필요합니다.

    이 사용자를 삭제 하는 경우, 또한credentials파일을 설정할 수 있습니다.

  • 프로젝트 폴더 삭제 (myapp).

다음 단계

이제 기본 정보를 확인했으므로 다음 내용을 알아볼 수 있습니다.