Localizar erros e retomar trabalhos usando arquivos de log e de plano no AzCopy

AzCopy é um utilitário de linha de comando que você pode usar para copiar blobs ou arquivos de ou para uma conta de armazenamento. Este artigo ajuda você a usar logs para diagnosticar erros e depois usar arquivos de plano para retomar trabalhos. Este artigo também mostra como configurar arquivos de log e de plano alterando seu nível de detalhamento e o local padrão onde eles são armazenados.

Observação

Se estiver procurando conteúdo para ajudar a começar a usar o AzCopy, confira Introdução ao AzCopy. Este artigo se aplica ao AzCopy V10, já que esta é a versão com suporte do AzCopy no momento. Se você precisa usar uma versão anterior do AzCopy, consulte Usar a versão anterior do AzCopy.

Registrar e planejar arquivos

O AzCopy cria arquivos de log e de plano para cada trabalho. Você pode usar estes logs para investigar e solucionar problemas potenciais.

Os logs conterão o status (UPLOADFAILED, COPYFAILED, e DOWNLOADFAILED), o caminho completo e o motivo da falha.

Por padrão, os arquivos de log e de plano estão localizados no diretório %USERPROFILE%\.azcopy no Windows, ou no diretório $HOME$\.azcopy no Mac e no Linux, mas você pode alterar o local, se desejar.

O erro pertinente não é necessariamente o primeiro erro que aparece no arquivo. Por exemplo, para erros de rede, tempo limite e servidor ocupado, o AzCopy fará até 20 tentativas e, geralmente, o processo de repetição terá sucesso. O primeiro erro que você vê pode ser algo inofensivo que foi repetido com sucesso. Portanto, em vez de examinar o primeiro erro no arquivo, procure os erros que estão próximos de UPLOADFAILED, COPYFAILED ou DOWNLOADFAILED.

Importante

Ao enviar uma solicitação ao Suporte da Microsoft (ou solucionar problemas que envolve um terceiro), compartilhe a versão redigida do comando que quer executar. Isso garante que a SAS não seja compartilhada acidentalmente. Você pode encontrar a versão editada no início do arquivo de log.

Examinar os logs em busca de erros

O comando a seguir obterá todos os erros com o status UPLOADFAILED do log 04dc9ca9-158f-7945-5933-564021086c79:

Windows (PowerShell)

Select-String UPLOADFAILED .\04dc9ca9-158f-7945-5933-564021086c79.log

Linux

grep UPLOADFAILED .\04dc9ca9-158f-7945-5933-564021086c79.log

Exibir e retomar trabalhos

Cada operação de transferência criará um trabalho do AzCopy. Use o seguinte comando para ver o histórico de trabalhos:

azcopy jobs list

Para exibir as estatísticas de trabalho, use o seguinte comando:

azcopy jobs show <job-id>

Para filtrar as transferências por status, use o seguinte comando:

azcopy jobs show <job-id> --with-status=Failed

Dica

O valor do sinalizador --with-status é sensível para diferenciar maiúsculas de minúsculas.

Use o comando a seguir para retomar um trabalho com falha/cancelado. Esse comando usa o identificador e o token SAS, pois ele não é persistente por motivos de segurança:

azcopy jobs resume <job-id> --source-sas="<sas-token>" --destination-sas="<sas-token>"

Dica

Coloque argumentos de caminho, como o token SAS, entre aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Quando você retoma um trabalho, o AzCopy analisa o arquivo de plano de trabalho. O arquivo de plano lista todos os arquivos identificados para processamento quando o trabalho foi criado pela primeira vez. Quando você retomar um trabalho, o AzCopy tentará transferir todos os arquivos listados no arquivo de plano que ainda não foram transferidos.

Mudar a localização dos arquivos do plano

Use um desses comandos.

Sistema operacional Comando
Windows PowerShell:$env:AZCOPY_JOB_PLAN_LOCATION="<value>"
No prompt de comando, use: set AZCOPY_JOB_PLAN_LOCATION=<value>
Linux export AZCOPY_JOB_PLAN_LOCATION=<value>
macOS export AZCOPY_JOB_PLAN_LOCATION=<value>

Use azcopy env para verificar o valor atual dessa variável. Se o valor estiver em branco, os arquivos de plano serão gravados no local padrão.

Mudar a localização dos arquivos de log

Use um desses comandos.

Sistema operacional Comando
Windows PowerShell:$env:AZCOPY_LOG_LOCATION="<value>"
No prompt de comando, use: set AZCOPY_LOG_LOCATION=<value>
Linux export AZCOPY_LOG_LOCATION=<value>
macOS export AZCOPY_LOG_LOCATION=<value>

Use azcopy env para verificar o valor atual dessa variável. Se o valor estiver em branco, os logs serão gravados no local padrão.

Alterar o nível de log padrão

Por padrão, o nível de log do AzCopy é definido como INFO. Se você quiser reduzir o detalhamento do log para economizar espaço em disco, substitua essa configuração usando a opção --log-level.

Os níveis de log disponíveis são: DEBUG, INFO, WARNING, ERROR e NONE.

Remover arquivos de plano e de log

Se você quiser remover todos os arquivos de plano e de log do computador local para economizar espaço em disco, use o comando azcopy jobs clean.

Para remover o plano e os arquivos de log associados a apenas um trabalho, use azcopy jobs rm <job-id>. Substitua o espaço reservado <job-id> neste exemplo pela ID do trabalho.

Confira também