COPY JOB - Amazon Redshift

O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog .

COPY JOB

Para obter mais informações sobre esse comando, consulte Criar uma integração de eventos do S3 para copiar automaticamente arquivos de buckets do Amazon S3.

Gerencia comandos COPY que carregam dados em uma tabela. O comando COPY JOB é uma extensão do comando COPY e automatiza o carregamento de dados dos buckets do Amazon S3. Quando você cria um trabalho COPY, o Amazon Redshift detecta quando são criados arquivos do Amazon S3 em um caminho especificado e os carrega automaticamente sem sua intervenção. Os mesmos parâmetros usados no comando COPY original são usados ao carregar os dados. O Amazon Redshift monitora os arquivos carregados (com base no nome do arquivo) para verificar se eles são carregados apenas uma vez.

nota

Para obter informações sobre o comando COPY, incluindo uso, parâmetros e permissões, consulteCOPY.

Permissão obrigatória

Para usar o comando COPY JOB, você deve ter uma das seguintes permissões, além de todas as permissões necessárias para usar COPY:

  • Superusuário

  • Todas as seguintes:

    • A permissão relevante CREATE, ALTER ou DROP com escopo para COPY JOBS no banco de dados para o qual você deseja COPIAR.

    • Permissão USAGE referente ao esquema para o qual você deseja COPIAR ou permissão USAGE com escopo para esquemas no banco de dados para o qual você deseja COPIAR.

    • Permissão INSERT para a tabela para a qual você deseja COPIAR ou a permissão INSERT com escopo para tabelas no esquema ou banco de dados para o qual você deseja COPIAR.

O perfil do IAM especificado com o comando COPY deve ter permissão para acessar os dados a serem carregados. Para obter mais informações, consulte Permissões do IAM para COPY, UNLOAD e CREATE LIBRARY.

Sintaxe

Crie um trabalho de cópia. Os parâmetros do comando COPY são salvos com o trabalho de cópia.

Não é possível executar COPY JOB CREATE dentro do escopo de um bloco de transação.

COPY copy-command JOB CREATE job-name [AUTO ON | OFF]

Altere a configuração de um trabalho de cópia.

COPY JOB ALTER job-name [AUTO ON | OFF]

Execute um trabalho de cópia. Os parâmetros do comando COPY armazenados são usados.

COPY JOB RUN job-name

Liste todos os trabalhos de cópia.

COPY JOB LIST

Mostre os detalhes de um trabalho de cópia.

COPY JOB SHOW job-name

Exclua um trabalho de cópia.

Não é possível executar COPY JOB DROP dentro do escopo de um bloco de transação.

COPY JOB DROP job-name

Parâmetros

copy-command

Um comando COPY que carrega dados do Amazon S3 para o Amazon Redshift. A cláusula contém parâmetros de COPY que definem o bucket do Amazon S3, a tabela de destino, o perfil do IAM e outros parâmetros usados ao carregar dados. Todos os parâmetros do comando COPY para um carregamento de dados do Amazon S3 são compatíveis, exceto:

  • COPY JOB não ingere arquivos preexistentes na pasta apontada pelo comando COPY. Somente arquivos criados após o carimbo de data e hora da criação de COPY JOB são ingeridos.

  • Não é possível especificar um comando COPY com as opções MAXERROR ou IGNOREALLERRORS.

  • Você não pode especificar um arquivo de manifesto. COPY JOB exige um local designado no Amazon S3 para monitorar a criação de arquivos.

  • Você não pode especificar um comando COPY com tipos de autorização como chaves de acesso e secretas. Somente comandos COPY que usam o parâmetro IAM_ROLE para autorização são compatíveis. Para obter mais informações, consulte Parâmetros de autorização.

  • O COPY JOB não oferece suporte ao perfil do IAM padrão associado com o cluster. Você deve especificar o IAM_ROLE no comando COPY.

Para obter mais informações, consulte COPY do Amazon S3.

job-name

O nome do trabalho usado para fazer referência ao trabalho COPY. O job-name não pode conter um hífen (‐).

[AUTO ON | OFF]

Cláusula que indica se os dados do Amazon S3 são carregados automaticamente nas tabelas do Amazon Redshift.

  • Quando ON, o Amazon Redshift monitora o caminho de origem do Amazon S3 para arquivos recém-criados e, se encontrado, um comando COPY é executado com os parâmetros de COPY na definição do trabalho. Esse é o padrão.

  • Quando OFF, o Amazon Redshift não executa COPY JOB automaticamente.

Observações de uso

As opções do comando COPY não são validadas até o tempo de execução. Por exemplo, um IAM_ROLE inválido ou uma fonte de dados do Amazon S3 resulta em erros de tempo de execução quando COPY JOB é iniciado.

Se o cluster estiver pausado, COPY JOBS não serão executados.

Para consultar arquivos de comando COPY carregados e erros de carregamento, consulte STL_LOAD_COMMITS, STL_LOAD_ERRORS e STL_LOADERROR_DETAIL. Para obter mais informações, consulte Como verificar se os dados foram carregados corretamente.

Exemplos

O exemplo a seguir mostra a criação de um COPY JOB para carregar dados de um bucket do Amazon S3.

COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' JOB CREATE my_copy_job_name AUTO ON;