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 UPLOADFAILED
de , COPYFAILED
ou 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 NONE
ERROR
. WARNING
INFO
DEBUG
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.