

 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/). 

# Uso de um manifesto para especificar arquivos de dados
<a name="loading-data-files-using-manifest"></a>

Você pode usar um manifesto para garantir que o comando COPY carregue todos os arquivos necessários, e somente os arquivos necessários, para um carregamento de dados. Você pode usar um manifesto para carregar vários arquivos de buckets diferentes ou arquivos que não compartilham o mesmo prefixo. Em vez de fornecer um caminho de objeto para o comando COPY, você fornece o nome de um arquivo de texto em formato JSON que lista explicitamente os arquivos a serem carregados. O URL no manifesto deve especificar o nome de bucket e o caminho de objeto completo para o arquivo, e não apenas um prefixo.

Para obter mais informações sobre arquivos manifesto, consulte o exemplo de COPY [Usar um manifesto para especificar arquivos de dados](r_COPY_command_examples.md#copy-command-examples-manifest).

O seguinte exemplo mostra o JSON para carregar arquivos de diferentes buckets e com nomes de arquivos que começam com carimbos de data.

```
{
  "entries": [
    {"url":"s3://amzn-s3-demo-bucket1/2013-10-04-custdata", "mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket1/2013-10-05-custdata", "mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket2/2013-10-04-custdata", "mandatory":true},
    {"url":"s3://amzn-s3-demo-bucket2/2013-10-05-custdata", "mandatory":true}
  ]
}
```

O sinalizador opcional `mandatory` especifica se COPY deve retornar um erro se o arquivo não for localizado. O padrão de `mandatory` é `false`. Independentemente de qualquer configuração obrigatória, COPY será encerrado se nenhum arquivo for encontrado. 

O exemplo a seguir executa o comando COPY com o manifesto do exemplo anterior, chamado `cust.manifest`. 

```
COPY customer
FROM 's3://amzn-s3-demo-bucket/cust.manifest' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
MANIFEST;
```

## Uso de um manifesto criado por UNLOAD
<a name="loading-data-files-using-unload-manifest"></a>

Um manifesto criado por uma operação [UNLOAD](r_UNLOAD.md) usando o parâmetro MANIFEST pode ter chaves que não são necessárias para a operação COPY. Por exemplo, o manifesto `UNLOAD` a seguir inclui uma chave `meta` que é necessária para uma tabela externa do Amazon Redshift Spectrum e para o carregamento de arquivos de dados em um formato de arquivo `ORC` ou `Parquet`. A chave `meta` contém uma chave `content_length` com um valor que é o tamanho real do arquivo em bytes. A operação COPY requer somente a chave `url` uma chave `mandatory` opcional.

```
{
  "entries": [
    {"url":"s3://amzn-s3-demo-bucket/unload/manifest_0000_part_00", "meta": { "content_length": 5956875 }},
    {"url":"s3://amzn-s3-demo-bucket/unload/unload/manifest_0001_part_00", "meta": { "content_length": 5997091 }}
 ]
}
```

Para obter mais informações sobre arquivos manifesto, consulte [Uso de um manifesto para especificar arquivos de dados](r_COPY_command_examples.md#copy-command-examples-manifest).