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 executar o comando COPY de um COPY JOB, você deve ter o privilégio INSERT da tabela que está sendo carregada.
O perfil do IAM especificado com o comando COPY deve ter permissão para acessar os dados a serem carregados. Para ter 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 ter 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 ter 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 ter 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;