

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Fontes de dados
<a name="copy-parameters-data-source"></a>

Você pode carregar dados de arquivos de texto em um bucket do Amazon S3, em um cluster do Amazon EMR ou em um host remoto que o cluster pode acessar usando uma conexão SSH. Você também pode carregar dados diretamente de uma tabela do DynamoDB. 

O tamanho máximo de uma única linha de entrada de qualquer origem é 4 MB. 

Para exportar dados de uma tabela para um conjunto de arquivos em um Amazon S3, use o comando [UNLOAD](r_UNLOAD.md). 

**Topics**
+ [COPY do Amazon S3](copy-parameters-data-source-s3.md)
+ [COPY do Amazon EMR](copy-parameters-data-source-emr.md)
+ [COPY de host remoto (SSH)](copy-parameters-data-source-ssh.md)
+ [COPY do Amazon DynamoDB](copy-parameters-data-source-dynamodb.md)

# COPY do Amazon S3
<a name="copy-parameters-data-source-s3"></a>

Para carregar dados de arquivos localizados em um ou mais buckets do S3, use a cláusula FROM para indicar como o COPY localiza os arquivos no Amazon S3. Você pode fornecer o caminho do objeto para os arquivos de dados como parte da cláusula FROM ou a localização de um arquivo manifesto que contenha uma lista de caminhos de objeto do Amazon S3. COPY de Amazon S3 usa uma conexão HTTPS. Certifique-se de que os intervalos de IP do S3 sejam adicionados à sua lista de permissões. Para saber mais sobre os intervalos de IP do S3 necessários, consulte [ Isolamento de rede](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation).

**Importante**  
Se os buckets do Amazon S3 que mantêm os arquivos de dados não residirem na mesma região da AWS que o cluster, use o parâmetro [REGION](#copy-region) para especificar a região na qual os dados estão localizados. 

**Topics**
+ [Sintaxe](#copy-parameters-data-source-s3-syntax)
+ [Exemplos](#copy-parameters-data-source-s3-examples)
+ [Parâmetros opcionais](#copy-parameters-data-source-s3-optional-parms)
+ [Parâmetros incompatíveis](#copy-parameters-data-source-s3-unsupported-parms)

## Sintaxe
<a name="copy-parameters-data-source-s3-syntax"></a>

```
FROM { 's3://objectpath' | 's3://manifest_file' }
authorization
| MANIFEST
| ENCRYPTED
| REGION [AS] 'aws-region'
| optional-parameters
```

## Exemplos
<a name="copy-parameters-data-source-s3-examples"></a>

O exemplo a seguir usa um caminho de objeto para carregar dados do Amazon S3. 

```
copy customer
from 's3://amzn-s3-demo-bucket/customer' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
```

O exemplo a seguir usa um arquivo manifesto para carregar dados do Amazon S3. 

```
copy customer
from 's3://amzn-s3-demo-bucket/cust.manifest' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
manifest;
```

### Parâmetros
<a name="copy-parameters-data-source-s3-parameters"></a>

FROM  <a name="copy-parameters-from"></a>
A origem dos dados a serem carregados. Para obter mais informações sobre a codificação do arquivo do Amazon S3, consulte [Parâmetros da conversão de dados](copy-parameters-data-conversion.md).

's3://*copy\$1from\$1s3\$1objectpath*'   <a name="copy-s3-objectpath"></a>
Especifica o caminho para os objetos do Amazon S3 que contêm os dados por exemplo, `'s3://amzn-s3-demo-bucket/custdata.txt'`. O parâmetro *s3://copy\$1from\$1s3\$1objectpath* pode referenciar um único arquivo ou um conjunto de objetos ou pastas que tenham o mesmo prefixo de chaves. Por exemplo, o nome `custdata.txt` é um prefixo de chaves que referencia um número de arquivos físicos: `custdata.txt`,`custdata.txt.1`, `custdata.txt.2`, `custdata.txt.bak` e assim por diante. O prefixo de chaves também pode referenciar um número de pastas. Por exemplo, `'s3://amzn-s3-demo-bucket/custfolder'` se refere às pastas `custfolder`, `custfolder_1`, `custfolder_2` e assim por diante. Se um prefixo de chaves referencia várias pastas, todos os arquivos nas pastas são carregados. Se um prefixo de chaves corresponder a um arquivo, bem como a uma pasta, como `custfolder.log`, COPY também tentará carregar o arquivo. Se um prefixo de chaves puder resultar na tentativa de COPY de carregar arquivos indesejados, use um arquivo manifesto. Para obter mais informações, consulte [copy_from_s3_manifest_file](#copy-manifest-file), a seguir.   
Se o bucket do S3 que mantém os arquivos de dados não residir na mesma região da AWS que o cluster, use o parâmetro [REGION](#copy-region) para especificar a região na qual os dados estão localizados.
Para obter mais informações, consulte [Carregar dados do Amazon S3](t_Loading-data-from-S3.md).

's3://*copy\$1from\$1s3\$1manifest\$1file*'   <a name="copy-manifest-file"></a>
Especifica a chave de objeto do Amazon S3 para um arquivo manifesto que lista os arquivos de dados a serem carregados. O argumento *'s3://*copy\$1from\$1s3\$1manifest\$1file'** deve referenciar explicitamente um único arquivo, por exemplo, `'s3://amzn-s3-demo-bucket/manifest.txt'`. Ele não pode fazer referência a um prefixo de chaves.  
O manifesto é um arquivo de texto em formato JSON que lista o URL de cada arquivo que deve ser carregado do Amazon S3. O URL inclui o nome do bucket e o caminho de objeto completo do arquivo. Os arquivos especificados no manifesto podem estar em buckets diferentes, mas todos os buckets devem estar na mesma região da AWS que o cluster do Amazon Redshift. Se for listado duas vezes, o arquivo será carregado duas vezes. O exemplo a seguir mostra o JSON de um manifesto que carrega três arquivos.   

```
{
  "entries": [
    {"url":"s3://amzn-s3-demo-bucket1/custdata.1","mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket1/custdata.2","mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket2/custdata.1","mandatory":false}
  ]
}
```
As aspas duplas são obrigatórias e devem ser simples (0x22), e não inclinadas ou "inteligentes". Cada entrada no manifesto também pode incluir um sinalizador `mandatory`. Se `mandatory` estiver definido como `true`, COPY será encerrado se não encontrar o arquivo dessa entrada; do contrário, COPY continuará. O valor padrão para `mandatory` é `false`.   
Ao carregar arquivos de dados em ORC ou em formato Parquet, um campo `meta` é necessário, conforme exibido no seguinte exemplo.  

```
{  
   "entries":[  
      {  
         "url":"s3://amzn-s3-demo-bucket1/orc/2013-10-04-custdata",
         "mandatory":true,
         "meta":{  
            "content_length":99
         }
      },
      {  
         "url":"s3://amzn-s3-demo-bucket2/orc/2013-10-05-custdata",
         "mandatory":true,
         "meta":{  
            "content_length":99
         }
      }
   ]
}
```
O arquivo manifesto não deverá ser criptografado ou compactado, mesmo se as opções ENCRYPTED, GZIP, LZOP, BZIP2 ou ZSTD forem especificadas. COPY retornará um erro se o arquivo de manifesto especificado não for encontrado ou se ele não estiver formado corretamente.   
Se um arquivo manifesto for usado, o parâmetro MANIFEST deverá ser especificado com o comando COPY. Se o parâmetro MANIFEST não for especificado, COPY vai pressupor que o arquivo especificado com FROM seja um arquivo de dados.   
Para obter mais informações, consulte [Carregar dados do Amazon S3](t_Loading-data-from-S3.md).

*authorization*  
O comando COPY precisa de autorização para acessar dados em outro recurso da AWS, inclusive em Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. É possível conceder essa autorização referenciando um perfil do AWS Identity and Access Management (IAM) anexado ao cluster (controle de acesso baseado em perfil) ou fornecendo as credenciais de acesso de um usuário (controle de acesso baseado em chave). Para mais segurança e a flexibilidade, recomendamos usar o controle de acesso baseado em função do IAM. Para obter mais informações, consulte [Parâmetros de autorização](copy-parameters-authorization.md).

MANIFEST  <a name="copy-manifest"></a>
Especifica que um manifesto é usado para identificar os arquivos de dados a serem carregados do Amazon S3. Se o parâmetro MANIFEST for usado, COPY carregará dados dos arquivos listados no manifesto referenciado por *'s3://copy\$1from\$1s3\$1manifest\$1file'*. Se o arquivo de manifesto não for encontrado ou não estiver formado corretamente, ocorrerá uma falha no COPY. Para obter mais informações, consulte [Uso de um manifesto para especificar arquivos de dados](loading-data-files-using-manifest.md).

ENCRYPTED  <a name="copy-encrypted"></a>
Uma cláusula que especifica que os arquivos de entrada no Amazon S3 são criptografados com criptografia do lado do cliente com chaves gerenciadas pelo cliente. Para obter mais informações, consulte [Carregar arquivos de dados criptografados do Amazon S3](c_loading-encrypted-files.md). Não especifique ENCRYPTED se arquivos de entrada forem criptografados usando-se criptografia no lado do servidor do Amazon S3 (SSE-KMS ou SSE-S3). COPY lê arquivos criptografados no lado do servidor automaticamente.  
Se você especificar o parâmetro ENCRYPTED, também deverá especificar o parâmetro [MASTER_SYMMETRIC_KEY](#copy-master-symmetric-key) ou incluir o valor **master\$1symmetric\$1key** na string [Usar o parâmetro CREDENTIALS](copy-parameters-authorization.md#copy-credentials).  
Se os arquivos criptografados estiverem em formato compactado, adicione o parâmetro GZIP, LZOP, BZIP2 ou ZSTD.  
Arquivos manifesto e JSONPaths não devem ser criptografados, mesmo se a opção ENCRYPTED for especificada.

MASTER\$1SYMMETRIC\$1KEY '*root\$1key*'  <a name="copy-master-symmetric-key"></a>
A chave simétrica raiz que foi usada para criptografar arquivos de dados no Amazon S3. Se MASTER\$1SYMMETRIC\$1KEY for especificado, o parâmetro [ENCRYPTED](#copy-encrypted) também deverá ser especificado. MASTER\$1SYMMETRIC\$1KEY não pode ser usado com o parâmetro CREDENTIALS. Para obter mais informações, consulte [Carregar arquivos de dados criptografados do Amazon S3](c_loading-encrypted-files.md).  
Se os arquivos criptografados estiverem em formato compactado, adicione o parâmetro GZIP, LZOP, BZIP2 ou ZSTD.

REGION [AS] '*aws-region*'  <a name="copy-region"></a>
Especifica a região da AWS onde os dados de origem estão localizados. REGION é necessário para COPY em um bucket do Amazon S3 ou uma tabela do DynamoDB quando o recurso da AWS que contém os dados não está na mesma região que o cluster do Amazon Redshift.   
O valor de *aws\$1region* deve combinar com uma região listada na tabela [regiões e endpoints do Amazon Redshift](https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region).  
Se o parâmetro REGION for especificado, todos os recursos, inclusive um arquivo manifesto ou vários buckets do Amazon S3, devem estar localizados na região especificada.   
A transferência de dados entre regiões incorre em cobranças adicionais em relação ao bucket do Amazon S3 ou à tabela do DynamoDB que contém dados. Para ter mais informações sobre preço, consulte as **transferências de dados de saída do Amazon S3 para outra região da AWS** na página [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/) e as **transferências de dados de saída** na página [Preço do Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing/). 
Por padrão, COPY pressupõe que os dados estejam localizados na mesma região do cluster do Amazon Redshift. 

## Parâmetros opcionais
<a name="copy-parameters-data-source-s3-optional-parms"></a>

Você também pode especificar os seguintes parâmetros com COPY do Amazon S3: 
+ [Opções de mapeamento da coluna](copy-parameters-column-mapping.md)
+ [Parâmetros de formato de dados](copy-parameters-data-format.md#copy-data-format-parameters)
+ [Parâmetros da conversão de dados](copy-parameters-data-conversion.md)
+ [Operações de carregamento de dados](copy-parameters-data-load.md)

## Parâmetros incompatíveis
<a name="copy-parameters-data-source-s3-unsupported-parms"></a>

Você não pode usar os seguintes parâmetros com COPY do Amazon S3: 
+ SSH
+ READRATIO

# COPY do Amazon EMR
<a name="copy-parameters-data-source-emr"></a>

Você pode usar o comando COPY para carregar dados em paralelo de um cluster do Amazon EMR configurado para gravar arquivos de texto no Hadoop Distributed File System (HDFS) do cluster na forma de arquivos de largura fixa, delimitados por caractere, CSV, formatados em JSON ou Avro.

**Topics**
+ [Sintaxe](#copy-parameters-data-source-emr-syntax)
+ [Exemplo](#copy-parameters-data-source-emr-example)
+ [Parâmetros](#copy-parameters-data-source-emr-parameters)
+ [Parâmetros compatíveis](#copy-parameters-data-source-emr-optional-parms)
+ [Parâmetros incompatíveis](#copy-parameters-data-source-emr-unsupported-parms)

## Sintaxe
<a name="copy-parameters-data-source-emr-syntax"></a>

```
FROM 'emr://emr_cluster_id/hdfs_filepath'  
authorization
[ optional_parameters ]
```

## Exemplo
<a name="copy-parameters-data-source-emr-example"></a>

O exemplo a seguir carrega dados como um cluster do Amazon EMR. 

```
copy sales
from 'emr://j-SAMPLE2B500FC/myoutput/part-*' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
```

## Parâmetros
<a name="copy-parameters-data-source-emr-parameters"></a>

FROM  
A origem dos dados a serem carregados. 

 'emr://*emr\$1cluster\$1id*/*hdfs\$1file\$1path*'  <a name="copy-emr"></a>
O identificador exclusivo do cluster do Amazon EMR e o caminho de arquivo HDFS que referencia os arquivos de dados para o comando COPY. Os nomes de arquivos de dados HDFS não devem conter o asterisco de caracteres curinga (\$1) e o ponto de interrogação (?).   
O cluster do Amazon EMR deve continuar em execução enquanto a operação COPY é concluída. Se alguns dos arquivos de dados HDFS forem alterados ou excluídos antes da operação COPY ser concluída, você poderá ter resultados inesperados, ou a operação COPY poderá falhar. 
Você pode usar os caracteres curinga asterisco (\$1) e ponto de interrogação (?) como parte do argumento *hdfs\$1file\$1path* para especificar o carregamento de vários arquivos. Por exemplo, `'emr://j-SAMPLE2B500FC/myoutput/part*'` identifica os arquivos `part-0000`, `part-0001` e assim por diante. Se não contiver caracteres curinga, o caminho do arquivo será tratado como uma string literal. Se você especificar somente um nome de pasta, COPY tentará carregar todos os arquivos na pasta.   
Se você usar caracteres curinga ou somente o nome da pasta, verifique se nenhum arquivo indesejado será cobrado. Por exemplo, alguns processos podem gravar um arquivo de log na pasta de saída.
Para obter mais informações, consulte [Carregar dados do Amazon EMR](loading-data-from-emr.md).

*authorization*  
O comando COPY precisa de autorização para acessar dados em outro recurso da AWS, inclusive em Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. É possível conceder essa autorização referenciando um perfil do AWS Identity and Access Management (IAM) anexado ao cluster (controle de acesso baseado em perfil) ou fornecendo as credenciais de acesso de um usuário (controle de acesso baseado em chave). Para mais segurança e a flexibilidade, recomendamos usar o controle de acesso baseado em função do IAM. Para obter mais informações, consulte [Parâmetros de autorização](copy-parameters-authorization.md).

## Parâmetros compatíveis
<a name="copy-parameters-data-source-emr-optional-parms"></a>

Você também pode especificar os seguintes parâmetros com COPY do Amazon EMR: 
+ [Opções de mapeamento da coluna](copy-parameters-column-mapping.md)
+ [Parâmetros de formato de dados](copy-parameters-data-format.md#copy-data-format-parameters)
+ [Parâmetros da conversão de dados](copy-parameters-data-conversion.md)
+ [Operações de carregamento de dados](copy-parameters-data-load.md)

## Parâmetros incompatíveis
<a name="copy-parameters-data-source-emr-unsupported-parms"></a>

Você não pode usar os seguintes parâmetros com COPY do Amazon EMR: 
+ ENCRYPTED
+ MANIFEST
+ REGION
+ READRATIO
+ SSH

# COPY de host remoto (SSH)
<a name="copy-parameters-data-source-ssh"></a>

Você pode usar o comando COPY para carregar dados em paralelo de um ou mais hosts remotos, como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) ou outros computadores. COPY se conecta aos hosts remotos usando o Secure Shell (SSH) e executa comandos nos hosts remotos para gerar a saída de texto. O host remoto pode ser uma instância do EC2 Linux ou outro computador Unix ou Linux configurado para aceitar conexões SSH. O Amazon Redshift pode conectar-se a vários hosts e abrir várias conexões SSH para cada host. O Amazon Redshift envia um comando exclusivo por meio de cada conexão para gerar saída de texto para a saída padrão do host, que o Amazon Redshift lê enquanto faz com um arquivo de texto.

Use a cláusula FROM para especificar a chave do objeto do Amazon S3 para o arquivo manifesto que fornece as informações que o COPY usa para abrir conexões SSH e executar os comandos remotos. 

**Topics**
+ [Sintaxe](#copy-parameters-data-source-ssh-syntax)
+ [Exemplos](#copy-parameters-data-source-ssh-examples)
+ [Parâmetros](#copy-parameters-data-source-ssh-parameters)
+ [Parâmetros opcionais](#copy-parameters-data-source-ssh-optional-parms)
+ [Parâmetros incompatíveis](#copy-parameters-data-source-ssh-unsupported-parms)

**Importante**  
 Se o bucket do S3 que mantém o arquivo manifesto não residir na mesma região da AWS que o cluster, use o parâmetro REGION para especificar a região na qual o bucket está localizado. 

## Sintaxe
<a name="copy-parameters-data-source-ssh-syntax"></a>

```
FROM 's3://'ssh_manifest_file' }
authorization
SSH
| optional-parameters
```

## Exemplos
<a name="copy-parameters-data-source-ssh-examples"></a>

O exemplo a seguir usa um arquivo manifesto para carregar dados de um host remoto usando o SSH. 

```
copy sales
from 's3://amzn-s3-demo-bucket/ssh_manifest' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
ssh;
```

## Parâmetros
<a name="copy-parameters-data-source-ssh-parameters"></a>

FROM  
A origem dos dados a serem carregados. 

's3://*copy\$1from\$1ssh\$1manifest\$1file*'  <a name="copy-ssh-manifest"></a>
O comando COPY pode conectar-se a vários hosts usando SSH e criar várias conexões SSH para cada host. O COPY executa um comando em cada conexão do host e carrega a saída dos comandos para a tabela em paralelo. O argumento *s3://copy\$1from\$1ssh\$1manifest\$1file* especifica a chave do objeto do Amazon S3 para o arquivo manifesto que fornece as informações que o COPY usa para abrir conexões SSH e executar os comandos remotos.  
O argumento *s3://copy\$1from\$1ssh\$1manifest\$1file* deve referenciar explicitamente um único arquivo; ele não pode ser um prefixo das chaves. Por exemplo:  

```
's3://amzn-s3-demo-bucket/ssh_manifest.txt'
```
O arquivo manifesto é um arquivo de texto no formato JSON que o Amazon Redshift usa para se conectar ao host. O arquivo manifesto especifica os endpoints do host SSH e os comandos que serão executados no host para retornar dados ao Amazon Redshift. Você também pode incluir a chave pública do host, o nome de usuário de login e um sinalizador obrigatório para cada entrada. O exemplo a seguir mostra um arquivo manifesto que cria duas conexões SSH:   

```
{ 
    "entries": [ 
	    {"endpoint":"<ssh_endpoint_or_IP>", 
           "command": "<remote_command>",
           "mandatory":true, 
           "publickey": "<public_key>", 
           "username": "<host_user_name>"}, 
	    {"endpoint":"<ssh_endpoint_or_IP>", 
           "command": "<remote_command>",
           "mandatory":true, 
           "publickey": "<public_key>", 
           "username": "<host_user_name>"} 
     ] 
}
```
O arquivo manifesto contém um construto `"entries"` para cada conexão SSH. Você pode ter várias conexões para um único host ou várias conexões para vários hosts. As aspas duplas são necessárias, conforme mostrado, para os nomes de campo e valores. As aspas devem ser simples (0x22), e não inclinadas ou “inteligentes”. O único valor que não precisa de aspas duplas é o valor booliano `true` ou `false` para o campo `"mandatory"`.   
A lista a seguir descreve os campos no arquivo manifesto.     
endpoint  <a name="copy-ssh-manifest-endpoint"></a>
O endereço de URL ou o endereço IP do host. Por exemplo, `"ec2-111-222-333.compute-1.amazonaws.com"`, ou `"198.51.100.0"`.   
command  <a name="copy-ssh-manifest-command"></a>
O comando a ser executado pelo host para gerar a saída de texto ou a saída binária em formato gzip, lzop, bzip2 ou zstd. O comando pode ser qualquer um que o usuário *"host\$1user\$1name"* tenha permissão para executar. O comando pode ser tão simples quanto imprimir um arquivo, ou pode consultar um banco de dados ou iniciar um script. A saída (arquivo de texto, arquivo binário gzip, arquivo binário lzop ou arquivo binário bzip2) deve estar em uma forma que o comando COPY do Amazon Redshift possa ingerir. Para obter mais informações, consulte [Preparação de dados de entrada](t_preparing-input-data.md).  
publickey  <a name="copy-ssh-manifest-publickey"></a>
(Opcional) A chave pública do host. Se fornecida, o Amazon Redshift usará a chave pública para identificar o host. Se a chave pública não for fornecida, o Amazon Redshift não tentará a identificação do host. Por exemplo, se a chave pública do host remoto for `ssh-rsa AbcCbaxxx…Example root@amazon.com`, digite o seguinte texto no campo de chave pública: `"AbcCbaxxx…Example"`  
mandatory  <a name="copy-ssh-manifest-mandatory"></a>
(Opcional) Uma cláusula que indica se o comando COPY deverá falhar se a tentativa de conexão falhar. O padrão é `false`. Se o Amazon Redshift não estabelecer pelo menos uma conexão, o comando COPY falhará.  
username  <a name="copy-ssh-manifest-username"></a>
(Opcional) O nome de usuário que será usado para fazer logon no sistema do host e executar o comando remoto. O nome de login do usuário deve ser o mesmo do login que foi usado para adicionar a chave pública do cluster do Amazon Redshift ao arquivo de chaves autorizadas do host. O nome de usuário padrão é `redshift`.
Para obter mais informações sobre como criar um arquivo manifesto, consulte [Processo de carregamento de dados](loading-data-from-remote-hosts.md#load-from-host-process).  
Para executar COPY de um host remoto, o parâmetro SSH deve estar especificado com o comando COPY. Se o parâmetro SSH não for especificado, COPY vai pressupor que o arquivo especificado com FROM seja um arquivo de dados e ocorrerá uma falha.   
Se você usar a compactação automática, o comando COPY realizará duas operações de leitura de dados, o que significa que executará o comando remoto duas vezes. A primeira operação de leitura deve fornecer um exemplo de dados para análise da compactação, e a segunda efetivamente carrega os dados. Se executar o comando remoto duas vezes puder causar um problema, você deverá desabilitar a compactação automática. Para desabilitar a compactação automática, execute o comando COPY com o parâmetro COMPUPDATE definido como OFF. Para obter mais informações, consulte [Carregamento de tabelas com compactação automática](c_Loading_tables_auto_compress.md).  
Para obter procedimentos detalhados sobre como usar COPY em SSH, consulte [Carregamento de dados de hosts remotos](loading-data-from-remote-hosts.md).

*authorization*  
O comando COPY precisa de autorização para acessar dados em outro recurso da AWS, inclusive em Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. É possível conceder essa autorização referenciando um perfil do AWS Identity and Access Management (IAM) anexado ao cluster (controle de acesso baseado em perfil) ou fornecendo as credenciais de acesso de um usuário (controle de acesso baseado em chave). Para mais segurança e a flexibilidade, recomendamos usar o controle de acesso baseado em função do IAM. Para obter mais informações, consulte [Parâmetros de autorização](copy-parameters-authorization.md).

SSH  <a name="copy-ssh"></a>
Uma cláusula que especifica que os dados devem ser carregados de um host remoto usando o protocolo SSH. Se especificar SSH, você também deverá fornecer um arquivo manifesto usando o argumento [s3://copy_from_ssh_manifest_file](#copy-ssh-manifest).   
Se você estiver usando o SSH para copiar de um host usando um endereço IP privado em uma VPC remota, a VPC deverá ter o roteamento VPC aprimorado habilitado. Para obter mais informações sobre o Enhanced VPC Routing, consulte [Enhanced VPC Routing do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html).

## Parâmetros opcionais
<a name="copy-parameters-data-source-ssh-optional-parms"></a>

Você também pode especificar os seguintes parâmetros com COPY do SSH: 
+ [Opções de mapeamento da coluna](copy-parameters-column-mapping.md)
+ [Parâmetros de formato de dados](copy-parameters-data-format.md#copy-data-format-parameters)
+ [Parâmetros da conversão de dados](copy-parameters-data-conversion.md)
+ [Operações de carregamento de dados](copy-parameters-data-load.md)

## Parâmetros incompatíveis
<a name="copy-parameters-data-source-ssh-unsupported-parms"></a>

Você não pode usar os seguintes parâmetros com COPY do SSH: 
+ ENCRYPTED
+ MANIFEST
+ READRATIO

# COPY do Amazon DynamoDB
<a name="copy-parameters-data-source-dynamodb"></a>

Para carregar dados de uma tabela do DynamoDB existente, use a cláusula FROM para especificar o nome da tabela do DynamoDB.

**Topics**
+ [Sintaxe](#copy-parameters-data-source-dynamodb-syntax)
+ [Exemplos](#copy-parameters-data-source-dynamodb-examples)
+ [Parâmetros opcionais](#copy-parameters-data-source-dynamodb-optional-parms)
+ [Parâmetros incompatíveis](#copy-parameters-data-source-dynamodb-unsupported-parms)

**Importante**  
Se a tabela do DynamoDB não residir na mesma região que o cluster do Amazon Redshift, use o parâmetro REGION para especificar a região na qual os dados estão localizados. 

## Sintaxe
<a name="copy-parameters-data-source-dynamodb-syntax"></a>

```
FROM 'dynamodb://table-name' 
authorization
READRATIO ratio
| REGION [AS] 'aws_region'  
| optional-parameters
```

## Exemplos
<a name="copy-parameters-data-source-dynamodb-examples"></a>

O exemplo a seguir carrega dados de uma tabela do DynamoDB. 

```
copy favoritemovies from 'dynamodb://ProductCatalog'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
readratio 50;
```

### Parâmetros
<a name="copy-parameters-data-source-dynamodb-parameters"></a>

FROM  
A origem dos dados a serem carregados. 

'dynamodb://*table-name*'  <a name="copy-dynamodb"></a>
O nome da tabela do DynamoDB que contém os dados; por exemplo, `'dynamodb://ProductCatalog'`. Para obter detalhes sobre como os atributos do DynamoDB são mapeados para colunas do Amazon Redshift, consulte [Carregar dados de uma tabela do Amazon DynamoDB](t_Loading-data-from-dynamodb.md).  
O nome de uma tabela do DynamoDB é exclusivo de uma conta da AWS, identificada por credenciais de acesso da AWS.

*authorization*  
O comando COPY precisa de autorização para acessar dados em outro recurso da AWS, inclusive em Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. É possível conceder essa autorização referenciando um perfil do AWS Identity and Access Management (IAM) anexado ao cluster (controle de acesso baseado em perfil) ou fornecendo as credenciais de acesso de um usuário (controle de acesso baseado em chave). Para mais segurança e a flexibilidade, recomendamos usar o controle de acesso baseado em função do IAM. Para obter mais informações, consulte [Parâmetros de autorização](copy-parameters-authorization.md).

READRATIO [AS] *ratio*  <a name="copy-readratio"></a>
A porcentagem do throughput provisionado da tabela do DynamoDB a ser usada no carregamento de dados. READRATIO é obrigatório para COPY do DynamoDB. Ele não pode ser usado com COPY do Amazon S3. É altamente recomendável definir a proporção como um valor menor que o throughput provisionado não usado médio. Os valores válidos são números inteiros de 1 a 200.  
A definição de READRATIO como 100 ou mais permite que o Amazon Redshift consuma todo o throughput provisionado da tabela do DynamoDB, o que afeta gravemente a performance de operações de leitura simultâneas na mesma tabela durante a sessão de COPY. O tráfego de gravação não é afetado. Os valores maiores que 100 têm permissão para solucionar problemas em cenários raros quando o Amazon Redshift deixar de atender ao throughput provisionado da tabela. Se você carregar dados do DynamoDB no Amazon Redshift continuamente, considere organizar as tabelas do DynamoDB como uma série temporal para separar o tráfego ao vivo da operação COPY.

## Parâmetros opcionais
<a name="copy-parameters-data-source-dynamodb-optional-parms"></a>

Você também pode especificar os seguintes parâmetros com COPY do Amazon DynamoDB: 
+ [Opções de mapeamento da coluna](copy-parameters-column-mapping.md)
+ Os seguintes parâmetros de conversão de dados são compatíveis:
  + [ACCEPTANYDATE](copy-parameters-data-conversion.md#copy-acceptanydate) 
  + [BLANKSASNULL](copy-parameters-data-conversion.md#copy-blanksasnull) 
  + [DATEFORMAT](copy-parameters-data-conversion.md#copy-dateformat) 
  + [EMPTYASNULL](copy-parameters-data-conversion.md#copy-emptyasnull) 
  + [ROUNDEC](copy-parameters-data-conversion.md#copy-roundec) 
  + [TIMEFORMAT](copy-parameters-data-conversion.md#copy-timeformat) 
  + [TRIMBLANKS](copy-parameters-data-conversion.md#copy-trimblanks) 
  + [TRUNCATECOLUMNS](copy-parameters-data-conversion.md#copy-truncatecolumns) 
+ [Operações de carregamento de dados](copy-parameters-data-load.md)

## Parâmetros incompatíveis
<a name="copy-parameters-data-source-dynamodb-unsupported-parms"></a>

Você não pode usar os seguintes parâmetros com COPY do DynamoDB: 
+ Todos os parâmetros de formato de dados
+ ESCAPE
+ FILLRECORD
+ IGNOREBLANKLINES
+ IGNOREHEADER
+ NULL
+ REMOVEQUOTES
+ ACCEPTINVCHARS
+ MANIFEST
+ ENCRYPTED