PostgreSQL DB 인스턴스용 Aurora PostgreSQL DB 클러스터 - Amazon Aurora

PostgreSQL DB 인스턴스용 Aurora PostgreSQL DB 클러스터

PostgreSQL DB 인스턴스용 Aurora PostgreSQL DB 클러스터. 이를 위해서는 Aurora PostgreSQL가 제공하는 aws_s3 PostgreSQL 확장을 사용합니다. Amazon S3를 로 가져오려면 데이터베이스에서 PostgreSQL 버전 10.7 이상을 실행 중이어야 합니다. Aurora PostgreSQL – 프로비저닝된 DB 인스턴스로만 가져올 수 있습니다. 즉, 이 단계는 Aurora Serverless v1에서 지원되지 않습니다.

Amazon S3를 이용한 데이터 저장에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서버킷 생성을 참조하세요. 파일을 Amazon S3 버킷에 업로드하는 방법에 관한 지침은 Amazon Simple Storage Service 사용 설명서버킷에 객체 추가를 참조하세요.

Amazon S3 데이터 가져오기 개요

Amazon S3 버킷에 저장된 데이터를 PostgreSQL 데이터베이스 테이블로 가져오려면 다음 단계를 따릅니다.

Aurora PostgreSQL로 S3 데이터 가져오기

  1. 필요한 PostgreSQL 확장을 설치합니다. 여기에는 aws_s3aws_commons 확장이 포함됩니다. 이렇게 하려면 psql을 시작하고 다음 명령을 사용합니다.

    psql=> CREATE EXTENSION aws_s3 CASCADE; NOTICE: installing required extension "aws_commons"

    aws_s3 확장에서는 Amazon S3 데이터를 가져오는 데 사용하는 aws_s3.table_import_from_s3 함수를 제공합니다. aws_commons 확장은 추가 헬퍼 함수를 제공합니다.

  2. 사용할 데이터베이스 테이블과 Amazon S3 파일을 식별합니다.

    aws_s3.table_import_from_s3 함수에는 가져온 데이터를 배치할 PostgreSQL 데이터베이스 테이블의 이름이 필요합니다. 또한 이 함수에서 가져올 Amazon S3 파일도 식별해야 합니다. 이 정보를 제공하려면 다음 단계를 따릅니다.

    1. 데이터를 배치할 PostgreSQL 데이터베이스 테이블을 식별합니다. 예를 들어 다음은 이 항목의 예제에 사용되는 샘플 t1 데이터베이스 테이블입니다.

      psql=> CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));
    2. 가져올 Amazon S3 파일을 식별하려면 다음 정보를 가져옵니다.

      • 버킷 이름 – 버킷은 Amazon S3 객체 또는 파일을 위한 컨테이너입니다.

      • 파일 경로 – 파일 경로를 통해 파일이 Amazon S3 버킷에 배치됩니다.

      • AWS 리전 – AWS 리전은 Amazon S3 버킷이 있는 위치입니다. 예를 들어 S3 버킷이 US East (N. Virginia) 리전에 있는 경우 us-east-1을 사용합니다. AWS 리전 이름 및 연결된 값의 목록은 리전 및 가용 영역 섹션을 참조하십시오.

      이 정보를 얻는 방법에 대해 알아보려면 Amazon Simple Storage Service 사용 설명서객체 보기를 참조하세요. AWS CLI 명령 aws s3 cp를 사용하여 정보를 확인할 수 있습니다. 정보가 정확하면 이 명령이 Amazon S3 파일의 복사본을 다운로드합니다.

      aws s3 cp s3://sample_s3_bucket/sample_file_path ./
    3. aws_commons.create_s3_uri 함수를 사용하여 Amazon S3 파일 정보를 보관할 aws_commons._s3_uri_1 구조를 생성합니다. 이 aws_commons._s3_uri_1 구조를 aws_s3.table_import_from_s3 함수에 대한 호출의 파라미터로 제공합니다.

      psql 예제에서 다음을 참조하십시오.

      psql=> SELECT aws_commons.create_s3_uri( 'sample_s3_bucket', 'sample.csv', 'us-east-1' ) AS s3_uri \gset
  3. Amazon S3 파일에 액세스할 수 있는 권한을 부여합니다.

    Amazon S3 파일에서 데이터를 가져오려면 Aurora PostgreSQL DB 클러스터에 파일이 저장된 Amazon S3 버킷에 액세스할 수 있는 권한을 부여합니다. 이렇게 하려면 AWS Identity and Access Management(IAM) 역할 또는 보안 자격 증명을 사용합니다. 자세한 내용은 Amazon S3 버킷에 대한 액세스 권한 설정 섹션을 참조하세요.

  4. aws_s3.table_import_from_s3 함수를 호출하여 Amazon S3 데이터를 가져옵니다.

    위 준비 작업을 완료한 후에는 aws_s3.table_import_from_s3 함수를 사용해 Amazon S3 데이터를 가져옵니다. 자세한 내용은 aws_s3.table_import_from_s3 함수를 사용하여 Amazon S3 데이터 가져오기 섹션을 참조하세요.

Amazon S3 버킷에 대한 액세스 권한 설정

Amazon S3 파일에서 데이터를 가져오려면 Aurora PostgreSQL DB 클러스터에 파일이 저장된 Amazon S3 버킷에 액세스할 수 있는 권한을 부여합니다. 다음 항목에서 설명하는 두 방법 중 하나를 사용하여 Amazon S3 버킷에 대한 액세스 권한을 부여합니다.

IAM 역할을 사용해 Amazon S3 버킷에 액세스

Amazon S3 파일에서 데이터를 로드하기 전에 Aurora PostgreSQL DB 클러스터DB 클러스터에 파일이 저장된 Amazon S3 버킷에 액세스할 수 있는 권한을 부여합니다. 그러면 추가 자격 증명 정보를 관리하거나 aws_s3.table_import_from_s3 함수 호출에서 제공할 필요가 없습니다.

이렇게 하려면 Amazon S3 버킷에 대한 액세스 권한을 부여하는 IAM 정책을 생성합니다. IAM 역할을 생성하여 정책을 역할에 연결합니다. 그런 다음 IAM 역할을 DB 클러스터에 할당합니다.

참고

IAM 역할을 Aurora Serverless v1 DB 클러스터와 연결할 수 없으므로 다음 단계에 적용되지 않습니다.

IAM 역할을 통해 Aurora PostgreSQL DB 클러스터에 Amazon S3 액세스 권한 부여

  1. IAM 정책을 생성합니다.

    이 정책은 Aurora PostgreSQL DB 클러스터 가 Amazon S3에 액세스할 수 있도록 허용하는 버킷 및 객체 권한을 부여합니다.

    정책에 다음과 같은 필수 작업을 포함하여 Amazon S3 버킷에서 Aurora PostgreSQL로의 파일 전송을 허용합니다.

    • s3:GetObject

    • s3:ListBucket

    정책에 다음 리소스를 포함하여 Amazon S3 버킷 및 그 안의 객체를 식별합니다. 다음은 Amazon S3에 액세스하기 위한 Amazon 리소스 이름(ARN) 형색입니다.

    • arn:aws:s3:::your-s3-bucket

    • arn:aws:s3:::your-s3-bucket/*

    PostgreSQL용 Aurora PostgreSQL에 대한 IAM 정책 생성에 대한 자세한 내용은 IAM 데이터베이스 액세스를 위한 IAM 정책 생성 및 사용 단원을 참조하십시오. IAM 사용 설명서자습서: 첫 번째 고객 관리형 정책 생성 및 연결도 참조하십시오.

    다음 AWS CLI 명령은 이 옵션으로 rds-s3-import-policy라는 IAM 정책을 만듭니다. your-s3-bucket이라는 버킷에 대한 액세스 권한을 부여합니다.

    참고

    이 명령에서 반환되는 정책 Amazon 리소스 이름(ARN)을 적어 둡니다. IAM 역할에 정책을 첨부할 때 이후 단계에 ARN이 필요합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws iam create-policy \ --policy-name rds-s3-import-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }'

    Windows의 경우:

    aws iam create-policy ^ --policy-name rds-s3-import-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }'
  2. IAM 역할 생성.

    이렇게 하면, Aurora PostgreSQL에서 IAM 역할을 수임하여 사용자 대신 Amazon S3 버킷에 액세스할 수 있도록 역할을 생성할 수 있습니다. 자세한 내용은 IAM 사용 설명서IAM 사용자에게 권한을 위임하기 위한 역할 생성을 참조하십시오.

    서비스 권한을 특정 리소스로 제한하는 리소스 기반 정책의 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. 이는 혼동된 대리자 문제를 방지하는 가장 효과적인 방법입니다.

    두 전역 조건 컨텍스트 키와 계정 ID를 포함한 aws:SourceArn 값을 모두 사용하는 경우, aws:SourceAccount 값 및 aws:SourceArn 값의 계정은 동일한 정책 문에서 사용될 경우 반드시 같은 계정 ID를 사용해야 합니다.

    • 단일 리소스에 대한 교차 서비스 액세스를 원하는 경우 aws:SourceArn을 사용하세요.

    • 해당 계정의 모든 리소스가 교차 서비스 사용과 연결되도록 허용하려는 경우 aws:SourceAccount를 사용하세요.

    정책에서는 리소스의 전체 ARN이 포함된 aws:SourceArn 전역 조건 컨텍스트 키를 사용해야 합니다. 다음 예제에서는 AWS CLI 명령을 사용하여 rds-s3-import-role이라는 역할을 생성하는 방법을 보여줍니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws iam create-role \ --role-name rds-s3-import-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname" } } } ] }'

    Windows의 경우:

    aws iam create-role ^ --role-name rds-s3-import-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname" } } } ] }'
  3. 생성한 IAM 역할에 생성한 IAM 정책을 연결합니다.

    다음 AWS CLI 명령은 앞서 생성한 정책을 rds-s3-import-role이라는 역할에 연결합니다. your-policy-arn을 이전 단계에서 기록한 정책 ARN으로 바꿉니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-import-role

    Windows의 경우:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-import-role
  4. IAM 역할을 DB 클러스터에 추가합니다.

    이렇게 하려면 다음에 설명한 대로 AWS Management Console 또는 AWS CLI를 사용합니다.

콘솔을 사용하여 PostgreSQL DB 클러스터에 대해 IAM 역할을 추가하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 세부 정보를 표시하고자 하는 PostgreSQL DB 클러스터 이름을 선택합니다.

  3. 연결성 및 보안(Connectivity & security) 탭에 있는 IAM 역할 관리(Manage IAM roles) 섹션의 클러스터에 IAM 역할 추가(Add IAM roles to this cluster/instance)에서 추가할 역할을 선택합니다.

  4. 기능에서 s3Import를 선택합니다.

  5. [Add role]을 선택합니다.

CLI를 사용하여 PostgreSQL DB 클러스터에 대해 IAM 역할을 추가하려면

  • 다음 명령을 사용해 my-db-cluster라는 PostgreSQL DB 클러스터에 역할을 추가합니다. your-role-arn을 이전 단계에서 기록한 정책 ARN으로 교체합니다. s3Import 옵션의 값에 대해 --feature-name를 사용합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds add-role-to-db-cluster \ --db-cluster-identifier my-db-cluster \ --feature-name s3Import \ --role-arn your-role-arn \ --region your-region

    Windows의 경우:

    aws rds add-role-to-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --feature-name s3Import ^ --role-arn your-role-arn ^ --region your-region

Amazon RDS API를 사용하여 PostgreSQL DB 클러스터 에 대한 IAM 역할을 추가하려면 AddRoleToDBCluster 작업을 호출합니다.

보안 자격 증명을 사용해 Amazon S3 버킷에 액세스

원할 경우 IAM 역할을 사용하는 대신 보안 자격 증명을 사용해 Amazon S3 버킷에 대한 액세스 권한을 부여여할 수 있습니다. 이렇게 하려면 credentials 함수 호출에 aws_s3.table_import_from_s3 파라미터를 사용합니다.

credentials 파라미터는 aws_commons._aws_credentials_1 자격 증명을 포함하는 AWS 유형의 구조입니다. 다음과 같이 aws_commons.create_aws_credentials 함수를 사용해 aws_commons._aws_credentials_1 구조에서 액세스 키와 비밀 키를 설정하십시오.

psql=> SELECT aws_commons.create_aws_credentials( 'sample_access_key', 'sample_secret_key', '') AS creds \gset

다음과 같이 aws_commons._aws_credentials_1 구조를 생성한 후 aws_s3.table_import_from_s3 함수를 credentials 파라미터와 함께 사용해 데이터를 가져옵니다.

psql=> SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', :'creds' );

또는 aws_commons.create_aws_credentials 함수 호출 인라인을 aws_s3.table_import_from_s3 함수 호출에 포함할 수 있습니다.

psql=> SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', aws_commons.create_aws_credentials('sample_access_key', 'sample_secret_key', '') );

Amazon S3 액세스 문제 해결

Amazon S3 파일 데이터를 가져오려 할 때 연결 문제가 발생할 경우 다음 권장 사항을 참조하십시오.

aws_s3.table_import_from_s3 함수를 사용하여 Amazon S3 데이터 가져오기

aws_s3.table_import_from_s3 함수를 호출하여 Amazon S3 데이터를 가져옵니다.

참고

다음 예제에서는 Amazon S3 버킷에 대한 액세스 권한을 제공하기 위해 IAM 역할 방법을 사용합니다. 따라서 aws_s3.table_import_from_s3 함수 호출에는 자격 증명 파라미터가 포함되지 않습니다.

다음은 psql을 사용하는 일반적인 PostgreSQL의 예입니다.

psql=> SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );

파라미터는 다음과 같습니다.

  • t1 – 데이터를 복사할 PostgreSQL DB 클러스터의 테이블에 지정된 이름입니다.

  • '' – 데이터베이스 테이블의 열 목록입니다(선택 사항). 이 파라미터를 사용해 S3 데이터 중 어떤 열이 어떤 테이블 열에 들어가는지 표시할 수 있습니다. 열을 지정하지 않으면 모든 열이 테이블에 복사됩니다. 열 목록 사용에 대한 예시는 사용자 지정 구분 기호를 사용하는 Amazon S3 파일 가져오기 단원을 참조하십시오.

  • (format csv) – PostgreSQL COPY 인수입니다. 복사 프로세스에서는 PostgreSQL COPY 명령의 인수 및 형식을 사용합니다. 앞의 예에서 COPY 명령은 쉼표로 구분된 값(CSV) 파일 형식을 사용해 데이터를 복사합니다.

  • s3_uri – Amazon S3 파일을 식별하는 정보가 포함된 구조입니다. aws_commons.create_s3_uri 함수를 사용하여 s3_uri 구조를 생성하는 예제는 Amazon S3 데이터 가져오기 개요 단원을 참조하십시오.

이 함수에 대한 자세한 내용은 aws_s3.table_import_from_s3 단원을 참조하세요.

aws_s3.table_import_from_s3 함수는 문자를 반환합니다. Amazon S3 버킷에서 가져올 다른 파일 종류를 지정하려면 다음 예 중 하나를 참조하세요.

사용자 지정 구분 기호를 사용하는 Amazon S3 파일 가져오기

다음 예제에서는 사용자 지정 구분 기호를 사용하는 파일을 가져오는 방법을 보여줍니다. 또한 column_list 함수의 aws_s3.table_import_from_s3 파라미터를 사용해 데이터베이스 테이블에서 데이터를 배치할 곳을 제어하는 방법을 보여줍니다.

이 예에서는 다음 정보가 Amazon S3 파일의 파이프로 구분된 열에 정리되어 있다고 가정합니다.

1|foo1|bar1|elephant1 2|foo2|bar2|elephant2 3|foo3|bar3|elephant3 4|foo4|bar4|elephant4 ...

사용자 지정 구분 기호를 사용하는 파일을 가져오려면

  1. 가져온 데이터에 대해 데이터베이스에서 테이블을 생성합니다.

    psql=> CREATE TABLE test (a text, b text, c text, d text, e text);
  2. aws_s3.table_import_from_s3 함수의 다음과 같은 형식을 사용해 Amazon S3 파일에서 데이터를 가져옵니다.

    aws_commons.create_s3_uri 함수 호출 인라인을 aws_s3.table_import_from_s3 함수 호출에 포함하여 파일을 지정할 수 있습니다.

    psql=> SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('sampleBucket', 'pipeDelimitedSampleFile', 'us-east-2') );

이제 데이터는 다음 열의 테이블에 있습니다.

psql=> SELECT * FROM test; a | b | c | d | e ---+------+---+---+------+----------- 1 | foo1 | | bar1 | elephant1 2 | foo2 | | bar2 | elephant2 3 | foo3 | | bar3 | elephant3 4 | foo4 | | bar4 | elephant4

Amazon S3 압축(gzip) 파일 가져오기

다음 예에서는 gzip으로 압축된 Amazon S3에서 파일을 가져오는 방법을 보여줍니다. 가져오는 파일에 다음과 같은 Amazon S3 메타데이터가 있어야 합니다.

  • 키: Content-Encoding

  • 값: gzip

AWS Management Console을 사용하여 파일을 업로드하는 경우 일반적으로 시스템에서 메타데이터를 적용합니다. AWS Management Console, AWS CLI 또는 API를 사용하여 Amazon S3에 파일을 업로드하는 방법에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 업로드를 참조하세요.

Amazon S3 메타데이터에 대한 자세한 내용과 시스템 제공 메타데이터에 대한 세부 정보는 Amazon Simple Storage Service 사용 설명서Amazon S3 콘솔에서 객체 메타데이터 편집을 참조하세요.

아래와 같이 gzip 파일을 PostgreSQL DB 인스턴스용 Aurora PostgreSQL DB 클러스터로 가져옵니다.

psql=> CREATE TABLE test_gzip(id int, a text, b text, c text, d text); psql=> SELECT aws_s3.table_import_from_s3( 'test_gzip', '', '(format csv)', 'myS3Bucket', 'test-data.gz', 'us-east-2' );

인코딩된 Amazon S3 파일 가져오기

다음 예에서는 Windows-1252 인코딩이 있는 Amazon S3에서 파일을 가져오는 방법을 보여줍니다.

psql=> SELECT aws_s3.table_import_from_s3( 'test_table', '', 'encoding ''WIN1252''', aws_commons.create_s3_uri('sampleBucket', 'SampleFile', 'us-east-2') );

함수 참조

aws_s3.table_import_from_s3

Amazon S3 데이터를 Aurora PostgreSQL 테이블로 가져옵니다. aws_s3 확장은 aws_s3.table_import_from_s3 함수를 제공합니다. 반환 값은 텍스트입니다.

구문

필수 파라미터는 table_name, column_listoptions입니다. 이 파라미터에서는 데이터베이스 테이블을 식별하고 데이터가 테이블로 복사되는 방식을 지정합니다.

다음 파라미터를 사용할 수도 있습니다.

  • s3_info 파라미터는 가져올 Amazon S3 파일을 지정합니다. 이 파라미터를 사용하는 경우 IAM 역할에서 PostgreSQL DB 클러스터에 대해 Amazon S3에 액세스할 수 있는 권한을 제공합니다.

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
  • credentials 파라미터에서는 Amazon S3에 액세스할 수 있는 자격 증명을 지정합니다. 이 파라미터를 사용할 때는 IAM 역할을 사용하지 마십시오.

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1, credentials aws_commons._aws_credentials_1 )

파라미터

table_name

데이터를 가져올 필수 텍스트 문자열로서, PostgreSQL 데이터베이스 테이블의 이름을 포함합니다.

column_list

데이터를 복사할 PostgreSQL 데이터베이스 테이블 열의 목록(선택 사항)을 포함하는 필수 텍스트 문자열입니다. 문자열이 비어 있는 경우 테이블의 모든 열이 사용됩니다. 관련 예시는 사용자 지정 구분 기호를 사용하는 Amazon S3 파일 가져오기 단원을 참조하십시오.

옵션:

PostgreSQL COPY 명령에 대한 인수를 포함하는 필수 텍스트 스트링입니다. 이 인수에서는 데이터가 PostgreSQL 테이블에 복사되는 방식을 지정합니다. 자세한 내용은 PostgreSQL COPY 설명서를 참조하십시오.

s3_info

S3 객체에 대한 다음 정보를 포함하는 aws_commons._s3_uri_1 복합 키입니다.

  • bucket – 파일이 포함된 Amazon S3 버킷의 이름입니다.

  • file_path – 파일 경로를 포함한 Amazon S3 파일 이름입니다.

  • region - 파일이 위치한 AWS 리전입니다. AWS 리전 이름 및 연결된 값의 목록은 리전 및 가용 영역 섹션을 참조하십시오.

자격 증명

가져오기 작업에 사용할 다음 자격 증명을 포함하는 aws_commons._aws_credentials_1 복합 유형입니다.

  • 액세스 키

  • 비밀 키

  • 세션 토큰

aws_commons._aws_credentials_1 복합 구조 생성에 대한 자세한 내용은 aws_commons.create_aws_credentials 단원을 참조하십시오.

대체 구문

s3_infocredentials 파라미터 대신에 확장 파라미터 집합을 사용하면 테스트에 도움이 됩니다. 다음은 aws_s3.table_import_from_s3 함수에 대한 추가 구문 변형입니다.

  • s3_info 파라미터를 사용해 Amazon S3 파일을 식별하는 대신 bucket, file_pathregion 파라미터의 조합을 사용하십시오. IAM 역할은 이러한 형식의 함수를 통해 PostgreSQL DB 인스턴스에 대해 Amazon S3에 액세스할 수 있는 권한을 제공합니다.

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
  • credentials 파라미터를 사용해 Amazon S3 액세스를 지정하는 대신 access_key, session_keysession_token 파라미터의 조합을 사용하십시오.

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text, access_key text, secret_key text, session_token text )

대체 파라미터

bucket

파일이 들어 있는 Amazon S3 버킷의 이름이 포함된 텍스트 문자열입니다.

file_path

파일 경로를 포함한 Amazon S3 파일 이름이 포함된 텍스트 문자열입니다.

.리전

파일이 위치한 AWS 리전이 포함된 텍스트 문자열입니다. AWS 리전 이름 및 연결된 값의 목록은 리전 및 가용 영역 섹션을 참조하십시오.

액세스 키

가져오기 작업에 사용할 액세스 키가 포함된 텍스트 문자열입니다. 기본값은 NULL입니다.

secret_key

가져오기 작업에 사용할 비밀 키가 포함된 텍스트 문자열입니다. 기본값은 NULL입니다.

session_token

(선택 사항) 가져오기 작업에 사용할 세션 키가 포함된 텍스트 문자열입니다. 기본값은 NULL입니다.

aws_commons.create_s3_uri

Amazon S3 파일 정보를 저장할 aws_commons._s3_uri_1 구조를 생성합니다. aws_commons.create_s3_uri 함수의 s3_info 파라미터에서 aws_s3.table_import_from_s3 함수의 결과를 사용합니다.

구문

aws_commons.create_s3_uri( bucket text, file_path text, region text )

파라미터

bucket

파일의 Amazon S3 버킷 이름이 포함된 필수 텍스트 문자열입니다.

file_path

파일 경로를 포함한 Amazon S3 파일 이름이 포함된 필수 텍스트 문자열입니다.

.리전

파일이 위치한 AWS 리전이 포함된 필수 텍스트 문자열입니다. AWS 리전 이름 및 연결된 값의 목록은 리전 및 가용 영역 섹션을 참조하십시오.

aws_commons.create_aws_credentials

aws_commons._aws_credentials_1 구조에서 액세스 키와 비밀 키를 설정합니다. aws_commons.create_aws_credentials 함수의 credentials 파라미터에서 aws_s3.table_import_from_s3 함수의 결과를 사용합니다.

구문

aws_commons.create_aws_credentials( access_key text, secret_key text, session_token text )

파라미터

액세스 키

Amazon S3 파일 가져오기에 사용할 액세스 키가 포함된 필수 텍스트 문자열입니다. 기본값은 NULL입니다.

secret_key

Amazon S3 파일 가져오기에 사용할 비밀 키가 포함된 필수 텍스트 문자열입니다. 기본값은 NULL입니다.

session_token

Amazon S3 파일 가져오기에 사용할 세션 토큰이 포함된 텍스트 문자열(선택 사항)입니다. 기본값은 NULL입니다. 선택 사항인 session_token을 제공하는 경우 임시 자격 증명을 사용할 수 있습니다.