Encontrar erros e retomar tarefas com ficheiros de registo e plano no AzCopy

O AzCopy é um utilitário da linha de comando que pode utilizar para copiar blobs ou ficheiros de/para uma conta de armazenamento. Este artigo ajuda-o a utilizar registos para diagnosticar erros e, em seguida, a utilizar ficheiros de plano para retomar tarefas. Este artigo também mostra como configurar ficheiros de registo e de plano ao alterar o nível de verbosidade e a localização predefinida onde estão armazenados.

Nota

Se estiver à procura de conteúdos para o ajudar a começar a utilizar o AzCopy, veja Introdução ao AzCopy. Este artigo aplica-se ao AzCopy V10 , tal como se trata da versão atualmente suportada do AzCopy. Se precisar de utilizar uma versão anterior do AzCopy, veja Utilizar a versão anterior do AzCopy.

Ficheiros de registo e de plano

O AzCopy cria ficheiros de registo e plano para cada tarefa. Pode utilizar os registos para investigar e resolver os possíveis problemas.

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

Por predefinição, os ficheiros de registo e de plano estão localizados no diretório %USERPROFILE%\.azcopy no Windows ou $HOME$\.azcopy no Mac e Linux, mas poderá alterar essa localização.

O erro relevante não é necessariamente o primeiro erro que aparece no ficheiro. Por exemplo, para erros de rede, erros de tempos limite e de Servidor Ocupado, o AzCopy voltará a tentar até 20 vezes e normalmente o processo de nova tentativa tem sucesso. O primeiro erro que vê pode ser algo inofensivo que foi repetido com êxito. Assim, em vez de analisar o primeiro erro no ficheiro, procure os erros que estão próximos UPLOADFAILEDde , COPYFAILEDou DOWNLOADFAILED.

Importante

Ao submeter um pedido para Suporte da Microsoft (ou resolver o problema que envolve terceiros), partilhe a versão redigida do comando que pretende executar. Isto garante que a SAS não é partilhada acidentalmente com ninguém. Pode encontrar a versão redigida no início do ficheiro de registo.

Verificar a existência de erros nos registos

O seguinte comando obterá todos os erros com o estado UPLOADFAILED do registo 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

Ver e retomar trabalhos

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

azcopy jobs list

Para ver as estatísticas da tarefa, utilize o seguinte comando:

azcopy jobs show <job-id>

Para filtrar as transferências por estado, utilize o seguinte comando:

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

Dica

O valor do --with-status sinalizador é sensível às maiúsculas e minúsculas.

Utilize o seguinte comando para retomar um trabalho falhado/cancelado. Este comando utiliza o identificador juntamente com o token de SAS, uma vez que não é persistente por razões de segurança:

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

Dica

Incluir argumentos de caminho, como o token de SAS com plicas (''). Utilize plicas em todas as shells de comandos, exceto na Shell de Comandos do Windows (cmd.exe). Se estiver a utilizar uma Shell de Comandos do Windows (cmd.exe), coloque os argumentos de caminho entre aspas ("") em vez de plicas ('').

Quando retoma uma tarefa, o AzCopy analisa o ficheiro do plano de tarefas. O ficheiro do plano lista todos os ficheiros que foram identificados para processamento quando a tarefa foi criada pela primeira vez. Quando retoma uma tarefa, o AzCopy tenta transferir todos os ficheiros listados no ficheiro de plano que ainda não foram transferidos.

Alterar a localização dos ficheiros do plano

Utilize qualquer um destes comandos.

Sistema operativo Comando
Windows PowerShell:$env:AZCOPY_JOB_PLAN_LOCATION="<value>"
Numa linha de comandos, utilize:: set AZCOPY_JOB_PLAN_LOCATION=<value>
Linux export AZCOPY_JOB_PLAN_LOCATION=<value>
macOS export AZCOPY_JOB_PLAN_LOCATION=<value>

Utilize o azcopy env para verificar o valor atual desta variável. Se o valor estiver em branco, os ficheiros do plano são escritos na localização predefinida.

Alterar a localização dos ficheiros de registo

Utilize qualquer um destes comandos.

Sistema operativo Comando
Windows PowerShell:$env:AZCOPY_LOG_LOCATION="<value>"
Numa linha de comandos, utilize:: set AZCOPY_LOG_LOCATION=<value>
Linux export AZCOPY_LOG_LOCATION=<value>
macOS export AZCOPY_LOG_LOCATION=<value>

Utilize o azcopy env para verificar o valor atual desta variável. Se o valor estiver em branco, os registos serão escritos na localização predefinida.

Alterar o nível de registo predefinido

Por predefinição, o nível de registo do AzCopy está definido como INFO. Se quiser reduzir a verbosidade do registo para poupar espaço em disco, substitua esta definição com a opção --log-level .

Os níveis de registo disponíveis são: , , , e NONEERROR. WARNINGINFODEBUG

Remover ficheiros de registo e de plano

Se quiser remover todos os ficheiros de registo e de plano do computador local para economizar espaço em disco, utilize o comando azcopy jobs clean.

Para remover os ficheiros de registo e de plano associados a apenas um trabalho, utilize azcopy jobs rm <job-id>. Substitua o marcador de posição <job-id> neste exemplo pelo ID do trabalho.

Ver também