Amazon API Gateway를 사용하여 Amazon Simple Storage Service(Amazon S3) 버킷에 파일, 폴더 및 하위 폴더를 생성하려고 합니다. 중간 AWS Lambda 함수는 사용하고 싶지 않습니다.
간략한 설명
API 요청의 지연 시간을 줄이려면 Lambda 함수 없이 API Gateway를 사용하여 Amazon S3 버킷 리소스를 생성하십시오. 또한 이 방법을 사용하면 비용이 절감되고 시스템 유지 관리 및 문제 해결이 더 쉬워집니다.
리소스를 생성하려면 필요한 권한 및 설정을 갖춘 API Gateway가 있어야 합니다.
해결 방법
REST API 생성
Amazon API Gateway에서 REST API를 생성합니다.
리소스 생성
API Gateway에서 리소스를 생성하려면 다음 단계를 완료하십시오.
- API Gateway 콘솔을 연 다음, API를 선택합니다.
- Resources(리소스) 섹션에서 **Create Resource(리소스 생성)**를 선택합니다.
- **Resource path(리소스 경로)**에서 **/**를 선택합니다.
- **Resource name(리소스 이름)**에서 **{rest}**를 입력합니다.
- **Create Resource(리소스 생성)**를 선택합니다.
API를 Amazon S3에 통합
API를 Amazon S3과 통합하는 방법을 생성하려면 다음 단계를 완료하십시오.
- API Gateway 콘솔을 연 다음, 리소스를 선택합니다.
- **Create method(메서드 생성)**를 선택합니다.
- **Method type(메서드 유형)**에서 PUT을 선택합니다.
- **Integration type(통합 유형)**에서 **AWS Service(AWS 서비스)**를 선택합니다.
- **AWS Service(AWS 서비스)**에서 **Simple Storage Service(S3)**를 선택합니다.
- **HTTP method(HTTP 메서드)**에서 PUT을 선택합니다.
- (선택 사항) 기타 설정을 구성합니다.
- **Create method(메서드 생성)**를 선택합니다.
URL 경로 파라미터 정의
리소스에 경로 파라미터를 추가하려면 다음 단계를 완료하십시오.
- API Gateway 콘솔을 엽니다.
- Resource(리소스) 섹션에서 PUT 메서드를 선택합니다.
- Integration request(통합 요청) 탭에서 **Edit(편집)**를 선택합니다.
- URL Path Parameters(URL 경로 파라미터) 섹션에서 **Add Path Parameter(경로 파라미터 추가)**를 선택합니다.
- **Name(이름)**에 rest를 입력합니다.
- **Mapped from(다음에서 매핑됨)**에 method.request.path.rest를 입력합니다.
- (선택 사항) 기타 캐싱 설정을 구성합니다.
- **Save(저장)**를 선택합니다.
API Gateway 테스트
API Gateway가 버킷에 소스를 성공적으로 생성할 수 있는지 테스트하려면 다음 단계를 완료하십시오.
- API Gateway 콘솔을 엽니다.
- Resource(리소스) 섹션에서 API를 선택한 다음, PUT 메서드를 선택합니다.
- rest 필드에 다음 중 하나의 이름을 입력합니다. rest 필드는 메서드 이름에 따라 제목이 다를 수 있습니다.
Amazon S3 버킷에 파일을 생성하려면 파일 이름을 입력합니다.
Amazon S3 버킷에 폴더를 생성하려면 %2F로 끝나는 폴더 이름을 입력합니다. 예를 들어 testfolder라는 폴더를 생성하려면 testfolder%2F를 입력합니다.
Amazon S3 버킷에 하위 폴더를 생성하려면 폴더 이름을 입력한 다음, 하위 폴더 이름을 입력합니다. 예를 들어 testfolder%2Ftestfolder1%2F를 입력하여 testfolder라는 이름의 폴더 내에 하위 폴더를 생성합니다.
- **Test(테스트)**를 선택합니다.
테스트에 성공하면 “HTTP 200 OK” 응답이 표시됩니다.
관련 정보
Amazon API Gateway란 무엇입니까?
Amazon S3이란 무엇입니까?