

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 函數參考
<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 資料匯入 Aurora PostgreSQL 表。`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 檔案。您使用此參數時，IAM 角色會將 Amazon S3 存取權提供給 PostgreSQL 資料庫叢集。

  ```
  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
  )
  ```

### Parameters
<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)。

 *options*   
必要的文字字串，含有 PostgreSQL `COPY` 命令引數。這些引數指定資料要如何複製到 PostgreSQL 表格中。詳細資訊請參閱 [PostgreSQL COPY 文件](https://www.postgresql.org/docs/current/sql-copy.html)。

 *s3\$1info*   
`aws_commons._s3_uri_1` 複合類型，含有下列 S3 物件相關資訊：  
+ `bucket` – 含有檔案的 Amazon S3 儲存貯體名稱。
+ `file_path` – 包括檔案路徑的 Amazon S3 檔案名稱。
+ `region` – 檔案所在的 AWS 區域。如需 AWS 區域名稱和相關值的清單，請參閱 [區域和可用區域](Concepts.RegionsAndAvailabilityZones.md)。

 *登入資料*   
`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` 函數的額外語法變化：
+ 請不要使用 `s3_info` 參數識別 Amazon S3 檔案，而是使用 `bucket`、`file_path` 及 `region` 參數組合進行。使用這種形式的函數，Amazon S3 存取權會由 IAM 角色在 PostgreSQL 資料庫執行個體提供。

  ```
  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_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>

*bucket*  
文字字串，其中含有包含檔案的 Amazon S3 儲存貯體名稱。

*file\$1path*  
包含 Amazon S3 檔案名稱 (包括檔案路徑) 的文字字串。

*region*  
識別檔案 AWS 區域 位置的文字字串。如需 AWS 區域 名稱和相關值的清單，請參閱 [區域和可用區域](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>

建立 `aws_commons._s3_uri_1` 結構以保留 Amazon S3 檔案資訊。使用 `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
)
```

### Parameters
<a name="USER_PostgreSQL.S3Import.create_s3_uri-parameters"></a>

*bucket*  
必要的文字字串，其中含有檔案的 Amazon S3 儲存貯體名稱。

*file\$1path*  
包含 Amazon S3 檔案名稱 (包括檔案路徑) 的必要文字字串。

*region*  
必要的文字字串 AWS 區域 ，其中包含 檔案所在的 。如需 AWS 區域 名稱和相關值的清單，請參閱 [區域和可用區域](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
)
```

### Parameters
<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`，就可以使用臨時登入資料。