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

이제 을 사용할 수 있습니다.Amazon S3전송 관리자 (개발자 미리 보기)의AWS SDK for Java2.x: 파일 전송 속도 향상 한 번 시도해보고여러분의 의견을 알려주세요.! 그건 그렇고,AWS SDK for Java팀이 채용 중입니다.소프트웨어 개발 엔지니어!

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

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

이AWS SDK for Java2.x는 다음과 같은 자바 API를 제공합니다.Amazon Web Services(AWS). SDK를 사용하여 다음과 같이 작동하는 Java 애플리케이션을 빌드할 수 있습니다.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 계정, 방문그Amazon Web Services가입 페이지화면에 표시되는 메시지에 따라 새 계정을 생성하고 활성화합니다. 자세한 지침은 단원을 참조하십시오.새 항목을 생성 및 활성화하려면 어떻게 해야 합니까?AWS 계정?.

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

IAM 사용자 생성

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

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

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

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

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

  5. 정책 목록에서 의 확인란을 선택합니다.AmazonS3FullAccess정책. [다음: 권한(Next: Tags)]를 선택합니다.

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

  7. 성공화면, 선택.csv 다운로드.

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

    참고

    당신은 것입니다.아니보안 액세스 키를 다운로드하거나 복사할 수 있는 다른 기회가 있습니다.

자바와 아파치 메이븐 설치

개발 환경에는 Java 8 이상과 Apache Maven이 설치되어 있어야 합니다.

자격 증명 구성

액세스 키 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_액세스_키나만의 유니크한AWS액세스 키 ID 및 바꾸기YOUR_AWS_비밀_액세스_키나만의 유니크한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을 사용하도록 Maven 컴파일러를 구성합니다.

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

  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먼저 빌드 aPutObjectRequest버킷 이름과 키 이름을 제공하는 객체입니다. 그런 다음 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.

정리

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

  • InS3 콘솔응용 프로그램을 실행할 때 생성된 모든 객체 및 버킷을 삭제합니다.

  • In그IAM콘솔, 삭제테스트SDK사용자.

    이 사용자를 삭제한 경우credentials설치 중에 생성한 파일입니다.

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

다음 단계

이제 기본 사항을 갖추었으므로 다음 내용을 학습할 수 있습니다.