Amazon S3 데이터 가져오기 개요
Amazon S3 데이터 가져오기 개요
Amazon S3에 저장된 데이터를 RDS for PostgreSQL DB 인스턴스로 가져오는 방법을 설명할게요. S3에 있는 데이터를 테이블로 가져오려면 aws_s3.table_import_from_s3 함수를 사용하면 돼요.
출처: 문서
본문
S3 데이터를 Amazon RDS로 가져오는 방법을 살펴볼게요. 먼저 함수에 제공해야 하는 세부 정보를 정리해야 해요. 여기에는 RDS for PostgreSQL DB 인스턴스의 테이블 이름, 버킷 이름, 파일 경로, 파일 유형, 그리고 Amazon S3 데이터가 저장된 AWS 리전이 포함돼요. 자세한 내용은 Amazon Simple Storage Service 사용자 가이드의 "객체 보기" 문서를 참고하세요.
참고
Amazon S3에서의 다중 파트 데이터 가져오기는 현재 지원되지 않아요.
aws_s3.table_import_from_s3 함수가 데이터를 가져올 테이블의 이름을 알아둘게요. 예를 들어 다음 명령은 이후 단계에서 사용할 수 있는 테이블 t1을 생성해요.
postgres=> CREATE TABLE t1
(col1 varchar(80),
col2 varchar(80),
col3 varchar(80));
가져올 Amazon S3 버킷과 데이터에 대한 세부 정보를 알아볼게요. 이를 위해 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열고 Buckets을 선택해요. 목록에서 데이터가 들어 있는 버킷을 찾아 선택하고, 객체 개요 페이지를 연 다음 Properties를 선택해요.
버킷 이름, 경로, AWS 리전, 파일 유형을 기록해두세요. 나중에 IAM 역할을 통해 Amazon S3에 대한 접근을 설정하려면 Amazon Resource Name(ARN)이 필요해요. 자세한 내용은 "Amazon S3 버킷에 대한 접근 설정" 문서를 참고하세요. 다음 이미지는 예시를 보여줘요.
aws s3 cp AWS CLI 명령을 사용해 Amazon S3 버킷의 데이터 경로를 확인할 수 있어요. 정보가 정확하면 이 명령은 Amazon S3 파일의 복사본을 다운로드해요.
aws s3 cp s3://amzn-s3-demo-bucket/sample_file_path ./
RDS for PostgreSQL DB 인스턴스가 Amazon S3 버킷의 파일에 접근하도록 권한을 설정할게요. 이를 위해 AWS Identity and Access Management(IAM) 역할 또는 보안 자격 증명(security credentials)을 사용해요. 자세한 내용은 "Amazon S3 버킷에 대한 접근 설정" 문서를 참고하세요.
2단계에서 모은 경로와 기타 Amazon S3 객체 세부 정보를 create_s3_uri 함수에 제공해 Amazon S3 URI 객체를 구성해요. 이 함수에 대해 자세히 알고 싶으면 aws_commons.create_s3_uri 문서를 참고하세요. 다음은 psql 세션에서 이 객체를 구성하는 예시예요.
postgres=> SELECT aws_commons.create_s3_uri(
'docs-lab-store-for-rpg',
'versions_and_jdks_listing.csv',
'us-west-1'
) AS s3_uri \gset
다음 단계에서 이 객체(aws_commons._s3_uri_1)를 aws_s3.table_import_from_s3 함수에 전달해 테이블로 데이터를 가져와요.
aws_s3.table_import_from_s3 함수를 호출해 Amazon S3의 데이터를 테이블로 가져와요. 참고 정보는 aws_s3.table_import_from_s3 문서를, 예시는 "Amazon S3에서 RDS for PostgreSQL DB 인스턴스로 데이터 가져오기" 문서를 참고하세요.