

# 関数リファレンス
<a name="USER_PostgreSQL.S3Import.Reference"></a>

**Topics**
+ [aws\$1s3.table\$1import\$1from\$1s3](#aws_s3.table_import_from_s3)
+ [aws\$1commons.create\$1s3\$1uri](#USER_PostgreSQL.S3Import.create_s3_uri)
+ [aws\$1commons.create\$1aws\$1credentials](#USER_PostgreSQL.S3Import.create_aws_credentials)

## aws\$1s3.table\$1import\$1from\$1s3
<a name="aws_s3.table_import_from_s3"></a>

Amazon S3 データを Amazon RDS テーブルにインポートします。`aws_s3` 拡張機能には、`aws_s3.table_import_from_s3` 関数が含まれます。戻り値はテキストです。

### 構文
<a name="aws_s3.table_import_from_s3-syntax"></a>

必須のパラメータは、`table_name`、`column_list`、`options` です。これらのパラメータを使用して、データベースを特定し、データをテーブルにコピーする方法を指定します。

また、次のパラメータを使用することもできます。
+ `s3_info` パラメータは、インポートする Amazon S3 ファイルを指定します。このパラメータを使用する場合、PostgreSQL DB インスタンスの IAM ロールを使用して、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
  )
  ```

### パラメータ
<a name="aws_s3.table_import_from_s3-parameters"></a>

 *table\$1name*   
データのインポート先となる PostgreSQL データベーステーブルの名前を含む必須のテキスト文字列。

 *column\$1list*   
データをコピーする PostgreSQL データベーステーブル列のオプションリストを含む必須のテキスト文字列。文字列が空の場合、テーブルの列がすべて使用されます。例については、「[カスタム区切り文字を使用する Amazon S3 ファイルをインポートする](USER_PostgreSQL.S3Import.FileFormats.md#USER_PostgreSQL.S3Import.FileFormats.CustomDelimiter)」を参照してください。

 *オプション*   
PostgreSQL `COPY` コマンドの引数を含む必須のテキスト文字列。これらの引数は PostgreSQL のテーブルにデータをコピーする方法を指定します。詳細については、「[PostgreSQL COPY ドキュメント](https://www.postgresql.org/docs/current/sql-copy.html)」を参照してください。

 *s3\$1info*   
S3 オブジェクトに関する以下の情報を含む `aws_commons._s3_uri_1` 複合型。  
+ `bucket` - ファイルを含む Amazon S3 バケット名。
+ `file_path` - Amazon S3ファイルのパスを含むファイル名。
+ `region` - ファイルがある AWS リージョン。AWS リージョン名と関連する値のリストについては、「[リージョン、アベイラビリティーゾーン、および Local Zones](Concepts.RegionsAndAvailabilityZones.md)」を参照してください。

 *credentials*   
インポートオペレーションに使用する次の認証情報を含む `aws_commons._aws_credentials_1` 複合型。  
+ アクセスキー
+ シークレットキー
+ セッショントークン
`aws_commons._aws_credentials_1` 複合構造を作成する方法については、「[aws\$1commons.create\$1aws\$1credentials](#USER_PostgreSQL.S3Import.create_aws_credentials)」を参照してください。

### 代替構文
<a name="aws_s3.table_import_from_s3-alternative-syntax"></a>

テストしやすいように、`s3_info` パラメータや `credentials` パラメータではなく、拡張されたパラメータセットを使用することができます。以下は、`aws_s3.table_import_from_s3` 関数の構文のバリエーションです。
+ Amazon S3 ファイルを識別するために `s3_info` パラメータを使用する代わりに、`bucket`、`file_path`、および `region` パラメータの組み合わせを使用します。この関数の形式を使用する場合は、PostgreSQL DB インスタンスの IAM ロールを使用して、Amazon S3 へのアクセス権を付与します。

  ```
  aws_s3.table_import_from_s3 (
     table_name text, 
     column_list text, 
     options text, 
     bucket text, 
     file_path text, 
     region text 
  )
  ```
+ Amazon S3 アクセスを指定するために `credentials` パラメータを使用する代わりに、`access_key`、`session_key`、および `session_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 
  )
  ```

### 代替パラメータ
<a name="aws_s3.table_import_from_s3-alternative-parameters"></a>

*バケット*  
ファイルを含む Amazon S3 バケットの名前を含むテキスト文字列。

*file\$1path*  
ファイルのパスを含むAmazon S3ファイル名を含むテキスト文字列。

*リージョン*  
ファイルの AWS リージョンの場所を識別するテキスト文字列。AWS リージョン 名と関連する値のリストについては、「[リージョン、アベイラビリティーゾーン、および Local Zones](Concepts.RegionsAndAvailabilityZones.md)」を参照してください。

*access\$1key*  
インポートオペレーションに使用するアクセスキーを含むテキスト文字列。デフォルトは NULL です。

*secret\$1key*  
インポートオペレーションに使用するシークレットキーを含むテキスト文字列。デフォルトは NULL です。

*session\$1token*  
(オプション) インポートオペレーションに使用するセッションキーを含むテキスト文字列。デフォルトは NULL です。

## aws\$1commons.create\$1s3\$1uri
<a name="USER_PostgreSQL.S3Import.create_s3_uri"></a>

Amazon S3 ファイル情報を保持するように、`aws_commons._s3_uri_1` 構造を作成します。`aws_commons.create_s3_uri` 関数の結果は、`s3_info` 関数の [aws\$1s3.table\$1import\$1from\$1s3](#aws_s3.table_import_from_s3) パラメータで使用します。

### 構文
<a name="USER_PostgreSQL.S3Import.create_s3_uri-syntax"></a>

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

### パラメータ
<a name="USER_PostgreSQL.S3Import.create_s3_uri-parameters"></a>

*バケット*  
ファイルの Amazon S3 バケット名を含む必須のテキスト文字列。

*file\$1path*  
ファイルのパスを含む Amazon S3 ファイル名を含む必須テキスト文字列。

*リージョン*  
ファイルがある AWS リージョン を含む必須のテキスト文字列。AWS リージョン 名と関連する値のリストについては、「[リージョン、アベイラビリティーゾーン、および Local Zones](Concepts.RegionsAndAvailabilityZones.md)」を参照してください。

## aws\$1commons.create\$1aws\$1credentials
<a name="USER_PostgreSQL.S3Import.create_aws_credentials"></a>

`aws_commons._aws_credentials_1` 構造でアクセスキーとシークレットキーを設定します。`aws_commons.create_aws_credentials` 関数の結果は、`credentials` 関数の [aws\$1s3.table\$1import\$1from\$1s3](#aws_s3.table_import_from_s3) パラメータで使用します。

### 構文
<a name="USER_PostgreSQL.S3Import.create_aws_credentials-syntax"></a>

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

### パラメータ
<a name="USER_PostgreSQL.S3Import.create_aws_credentials-parameters"></a>

*access\$1key*  
Amazon S3 ファイルのインポートに使用するアクセスキーを含む必須のテキスト文字列。デフォルトは NULL です。

*secret\$1key*  
Amazon S3 ファイルのインポートに使用するシークレットキーを含む必須のテキスト文字列。デフォルトは NULL です。

*session\$1token*  
Amazon S3 ファイルのインポートに使用するセッショントークンを含む必須のテキスト文字列。デフォルトは NULL です。オプションの `session_token` を指定した場合は、一時的な認証情報を使用することができます。