

# Referência de funções
<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>

Importa dados do Amazon S3 para uma tabela doAmazon RDS do . A extensão `aws_s3` fornece a função `aws_s3.table_import_from_s3`. O valor de retorno é texto.

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

Os parâmetros necessários são `table_name`, `column_list` e `options`. Eles identificam a tabela do banco de dados e especificam como os dados são copiados nessa tabela. 

Você também pode usar os seguintes parâmetros: 
+ O parâmetro `s3_info` especifica o arquivo do Amazon S3 a ser importado. Quando você usa esse parâmetro, o acesso ao Amazon S3 é fornecido por uma função do IAM para a instância do de banco de dados do PostgreSQL.

  ```
  aws_s3.table_import_from_s3 (
     table_name text, 
     column_list text, 
     options text, 
     s3_info aws_commons._s3_uri_1
  )
  ```
+ O parâmetro `credentials` especifica as credenciais para acessar o Amazon S3. Ao usar esse parâmetro, você não usa uma função do 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
  )
  ```

### Parâmetros
<a name="aws_s3.table_import_from_s3-parameters"></a>

 *table\$1name*   
Uma string de texto necessária contendo o nome da tabela de banco de dados PostgreSQL para a qual importar os dados. 

 *column\$1list*   
Uma string de texto necessária contendo uma lista opcional das colunas da tabela de banco de dados PostgreSQL para a qual copiar os dados. Se a string estiver vazia, todas as colunas da tabela serão usadas. Para ver um exemplo, consulte [Importar um arquivo do Amazon S3 que usa um delimitador personalizado](USER_PostgreSQL.S3Import.FileFormats.md#USER_PostgreSQL.S3Import.FileFormats.CustomDelimiter).

 *Opções do*   
Uma string de texto necessária contendo argumentos para o comando PostgreSQL `COPY`. Esses argumentos especificam como os dados devem ser copiados para a tabela do PostgreSQL. Para obter mais detalhes, consulte [Documentação de COPY do PostgreSQL](https://www.postgresql.org/docs/current/sql-copy.html).

 *s3\$1info*   
Um tipo composto `aws_commons._s3_uri_1` contendo as seguintes informações sobre o objeto do S3:  
+ `bucket` – O nome do Amazon S3 bucket que contém o arquivo.
+ `file_path` – o nome do Amazon S3 arquivo, incluindo o caminho do arquivo.
+ `region`: a região da AWS em que o arquivo se encontra. Para obter uma listagem de nomes de regiões da AWS e os valores associados, consulte [Regiões, zonas de disponibilidade e Local Zones](Concepts.RegionsAndAvailabilityZones.md).

 *credenciais*   
Um tipo composto `aws_commons._aws_credentials_1` contendo as seguintes credenciais a serem usadas para a operação de importação:  
+ Chave de acesso
+ Chave secreta
+ Token de sessão
Para obter informações sobre como criar uma estrutura `aws_commons._aws_credentials_1` composta, consulte [aws\$1commons.create\$1aws\$1credentials](#USER_PostgreSQL.S3Import.create_aws_credentials).

### Sintaxe alternativa
<a name="aws_s3.table_import_from_s3-alternative-syntax"></a>

Para ajudar nos testes, você pode usar um conjunto expandido de parâmetros em vez dos parâmetros `s3_info` e `credentials`. Veja a seguir as variações acionais da sintaxe da função `aws_s3.table_import_from_s3`. 
+ Em vez de usar o parâmetro `s3_info` para identificar um arquivo do Amazon S3, use a combinação dos parâmetros `bucket`, `file_path` e `region`. Com essa forma da função, o acesso ao Amazon S3 é fornecido por uma função do IAM na instância de banco de dados do PostgreSQL.

  ```
  aws_s3.table_import_from_s3 (
     table_name text, 
     column_list text, 
     options text, 
     bucket text, 
     file_path text, 
     region text 
  )
  ```
+ Em vez de usar o parâmetro `credentials` para especificar o acesso ao Amazon S3, use a combinação dos parâmetros `access_key`, `session_key` e `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 
  )
  ```

### Parâmetros alternativos
<a name="aws_s3.table_import_from_s3-alternative-parameters"></a>

*Bucket de*  
Uma string de texto contendo o nome do bucket do Amazon S3 que contém o arquivo. 

*file\$1path*  
Uma string de texto contendo o nome do arquivo do Amazon S3, incluindo o caminho do arquivo. 

*region*  
Uma string de texto que identifica a Região da AWS do arquivo. Para obter uma listagem de nomes de Região da AWS e os valores associados, consulte [Regiões, zonas de disponibilidade e Local Zones](Concepts.RegionsAndAvailabilityZones.md).

*access\$1key*  
Uma string de texto contendo a chave de acesso a ser usada para a operação de importação. O padrão é NULL.

*secret\$1key*  
Uma string de texto contendo a chave secreta a ser usada para a operação de importação. O padrão é NULL.

*session\$1token*  
(Opcional) Uma string de texto contendo a chave de sessão a ser usada para a operação de importação. O padrão é NULL.

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

Cria uma estrutura `aws_commons._s3_uri_1` para comportar informações do arquivo do Amazon S3. Use os resultados da função `aws_commons.create_s3_uri` no parâmetro `s3_info` da função [aws\$1s3.table\$1import\$1from\$1s3](#aws_s3.table_import_from_s3). 

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

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

### Parâmetros
<a name="USER_PostgreSQL.S3Import.create_s3_uri-parameters"></a>

*Bucket de*  
Uma string de texto necessária contendo o nome do bucket do Amazon S3 para o arquivo.

*file\$1path*  
Uma string de texto necessária contendo o nome do arquivo do Amazon S3, incluindo o caminho do arquivo.

*region*  
Uma string de texto necessária que contém a Região da AWS na qual o arquivo se encontra. Para obter uma listagem de nomes de Região da AWS e os valores associados, consulte [Regiões, zonas de disponibilidade e Local Zones](Concepts.RegionsAndAvailabilityZones.md).

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

Define uma chave de acesso e uma chave secreta em uma estrutura `aws_commons._aws_credentials_1`. Use os resultados da função `aws_commons.create_aws_credentials` no parâmetro `credentials` da função [aws\$1s3.table\$1import\$1from\$1s3](#aws_s3.table_import_from_s3). 

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

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

### Parâmetros
<a name="USER_PostgreSQL.S3Import.create_aws_credentials-parameters"></a>

*access\$1key*  
Uma string de texto necessária contendo a chave de acesso a ser usada para importar um arquivo do Amazon S3. O padrão é NULL.

*secret\$1key*  
Uma string de texto necessária contendo a chave secreta a ser usada para importar um arquivo do Amazon S3. O padrão é NULL.

*session\$1token*  
Uma string de texto opcional contendo o token de sessão a ser usado para importar um arquivo do Amazon S3. O padrão é NULL. Se você fornecer um `session_token` opcional, poderá usar credenciais temporárias.