Formato de arquivo de log de serviço de Importação/Exportação do Azure

Quando o serviço de importação/exportação do Microsoft Azure executa uma ação em uma unidade como parte de um trabalho de importação ou exportação, os logs são gravados para bloquear blobs na conta de armazenamento associado ao trabalho.

Há dois logs que podem ser gravados pelo serviço de importação/exportação:

Local do arquivo de log

Os logs são gravados para bloquear blobs no contêiner ou diretório virtual especificado pela configuração ImportExportStatesPath, que pode ser definida em um operação Put Job. O local no qual os logs são gravados depende de como a autenticação é especificada para o trabalho, junto com o valor especificado para ImportExportStatesPath. A autenticação para o trabalho pode ser especificada por meio de uma chave de conta de armazenamento ou um contêiner SAS (assinatura de acesso compartilhado).

O nome do contêiner ou diretório virtual pode ser o nome padrão de waimportexport ou outro nome de contêiner ou diretório virtual que você especificar.

A tabela a seguir mostra as opções possíveis:

Método de autenticação Valor de ImportExportStatesPathElemento Local dos Blobs de Log
Chave da conta de armazenamento Valor padrão Um contêiner denominado waimportexport, que é o contêiner padrão. Por exemplo:

https://myaccount.blob.core.windows.net/waimportexport
Chave da conta de armazenamento Valor especificado pelo usuário Um contêiner nomeado pelo usuário. Por exemplo:

https://myaccount.blob.core.windows.net/mylogcontainer
SAS do contêiner Valor padrão Um diretório virtual chamado waimportexport, que é o nome padrão, sob o contêiner especificado na SAS.

Por exemplo, se a SAS especificada para o trabalho for https://myaccount.blob.core.windows.net/mylogcontainer?sv=2012-02-12&se=2015-05-22T06%3A54%3A55Z&sr=c&sp=wl&sig=sigvalue , o local do log será https://myaccount.blob.core.windows.net/mylogcontainer/waimportexport
SAS do contêiner Valor especificado pelo usuário Um diretório virtual nomeado pelo usuário, sob o contêiner especificado na SAS.

Por exemplo, se a SAS especificada para o trabalho for https://myaccount.blob.core.windows.net/mylogcontainer?sv=2012-02-12&se=2015-05-22T06%3A54%3A55Z&sr=c&sp=wl&sig=sigvalue , e o diretório virtual especificado for nomeado mylogblobs , o local do log será https://myaccount.blob.core.windows.net/mylogcontainer/waimportexport/mylogblobs .

Você pode recuperar a URL de erro e logs detalhados chamando a operação Obter Trabalho. Os logs estão disponíveis após a conclusão do processamento da unidade.

Formato do arquivo de log

O formato para ambos os logs é o mesmo: um blob que contém descrições XML dos eventos ocorridos ao copiar blobs entre o disco rígido e a conta do cliente.

O log detalhado contém informações completas sobre o status da operação de cópia para cada blob (para um trabalho de importação) ou arquivo (para um trabalho de exportação), enquanto que o log de erros contém apenas as informações para blobs ou arquivos que tiveram erros durante o trabalho de importação ou exportação.

O formato de log detalhado é mostrado abaixo. O log de erros tem a mesma estrutura, mas filtra operações bem-sucedidas.

<DriveLog Version="2014-11-01">  
  <DriveId>drive-id</DriveId>  
  [<Blob Status="blob-status">  
   <BlobPath>blob-path</BlobPath>  
   <FilePath>file-path</FilePath>  
   [<Snapshot>snapshot</Snapshot>]  
   <Length>length</Length>  
   [<LastModified>last-modified</LastModified>]  
   [<ImportDisposition Status="import-disposition-status">import-disposition</ImportDisposition>]  
   [page-range-list-or-block-list]  
   [metadata-status]  
   [properties-status]  
  </Blob>]  
  [<Blob>  
    . . .  
  </Blob>]  
  <Status>drive-status</Status>  
</DriveLog>  
  
page-range-list-or-block-list ::= 
  page-range-list | block-list  
  
page-range-list ::=   
<PageRangeList>  
      [<PageRange Offset="page-range-offset" Length="page-range-length"   
       [Hash="md5-hash"] Status="page-range-status"/>]  
      [<PageRange Offset="page-range-offset" Length="page-range-length"   
       [Hash="md5-hash"] Status="page-range-status"/>]  
</PageRangeList>  
  
block-list ::=  
<BlockList>  
      [<Block Offset="block-offset" Length="block-length" [Id="block-id"]  
       [Hash="md5-hash"] Status="block-status"/>]  
      [<Block Offset="block-offset" Length="block-length" [Id="block-id"]   
       [Hash="md5-hash"] Status="block-status"/>]  
</BlockList>  
  
metadata-status ::=  
<Metadata Status="metadata-status">  
   [<GlobalPath Hash="md5-hash">global-metadata-file-path</GlobalPath>]  
   [<Path Hash="md5-hash">metadata-file-path</Path>]  
</Metadata>  
  
properties-status ::=  
<Properties Status="properties-status">  
   [<GlobalPath Hash="md5-hash">global-properties-file-path</GlobalPath>]  
   [<Path Hash="md5-hash">properties-file-path</Path>]  
</Properties>  

A tabela a seguir descreve os elementos do arquivo de log.

Elemento XML Type Descrição
DriveLog Elemento XML Representa um log de unidade.
Version Atributo, cadeia de caracteres A versão do formato do log.
DriveId Cadeia de caracteres Número de série do hardware da unidade.
Status Cadeia de caracteres Status do processamento da unidade. Consulte a tabela Drive Status Codes abaixo para obter mais informações.
Blob Elemento XML aninhado Representa um blob.
Blob/BlobPath Cadeia de caracteres O URI do blob.
Blob/FilePath Cadeia de caracteres Caminho relativo até o arquivo na unidade.
Blob/Snapshot Datetime A versão de instantâneo do blob, apenas para um trabalho de exportação.
Blob/Length Integer O comprimento total do blob em bytes.
Blob/LastModified Datetime A data/hora em que o blob foi modificado pela última vez, apenas para um trabalho de exportação.
Blob/ImportDisposition Cadeia de caracteres A disposição de importação do blob, para um trabalho de importação.
Blob/ImportDisposition/@Status Atributo, cadeia de caracteres O status de disposição de importação.
PageRangeList Elemento XML aninhado Representa uma lista de intervalos de página para um blobs de página.
PageRange Elemento XML Representa um intervalo de páginas.
PageRange/@Offset Atributo, inteiro Iniciando o deslocamento do intervalo de página no blob.
PageRange/@Length Atributo, inteiro Comprimento em bytes do intervalo de página.
PageRange/@Hash Atributo, cadeia de caracteres Hash de MD5 codificado para Base16 do intervalo de página.
PageRange/@Status Atributo, cadeia de caracteres Status do processamento do intervalo de páginas.
BlockList Elemento XML aninhado Representa uma lista de blocos para um blobs de bloco.
Block Elemento XML Representa um bloco.
Block/@Offset Atributo, inteiro Iniciando o deslocamento do bloco no blob.
Block/@Length Atributo, inteiro Comprimento em bytes do bloco.
Block/@Id Atributo, cadeia de caracteres ID do bloco.
Block/@Hash Atributo, cadeia de caracteres Hash de MD5 codificado para Base16 do bloco.
Block/@Status Atributo, cadeia de caracteres Status do processamento do bloco.
Metadata Elemento XML aninhado Representa os metadados do blob.
Metadata/@Status Atributo, cadeia de caracteres Status de processamento dos metadados do blob.
Metadata/GlobalPath Cadeia de caracteres Caminho relativo para o arquivo de metadados globais.
Metadata/GlobalPath/@Hash Atributo, cadeia de caracteres Hash de MD5 codificado para Base16 do arquivo global de metadados.
Metadata/Path Cadeia de caracteres Caminho relativo para o arquivo de metadados.
Metadata/Path/@Hash Atributo, cadeia de caracteres Hash de MD5 codificado para Base16 do arquivo de metadados.
Properties Elemento XML aninhado Representa as propriedades do blob.
Properties/@Status Atributo, cadeia de caracteres Status do processamento de propriedades de blob, por exemplo, arquivo não encontrado, concluído.
Properties/GlobalPath Cadeia de caracteres Caminho relativo para o arquivo global de propriedades.
Properties/GlobalPath/@Hash Atributo, cadeia de caracteres Hash de MD5 codificado para Base16 do arquivo global de propriedades.
Properties/Path Cadeia de caracteres Caminho relativo para o arquivo de propriedades.
Properties/Path/@Hash Atributo, cadeia de caracteres Hash de MD5 codificado para Base16 do arquivo de propriedades.
Blob/Status Cadeia de caracteres Status do processamento do blob.

Códigos de status da unidade

A tabela a seguir lista os códigos de status para o processamento de uma unidade.

Código de status Descrição
Completed A unidade concluiu o processamento sem erros.
CompletedWithWarnings A unidade concluiu o processamento com avisos em um ou mais blobs de acordo com as disposições de importação especificadas para os blobs.
CompletedWithErrors A unidade foi concluída com erros em um ou mais blobs ou partes.
DiskNotFound Nenhum disco foi encontrado na unidade.
VolumeNotNtfs O primeiro volume de dados no disco não está no formato NTFS.
DiskOperationFailed Uma falha desconhecida ocorreu ao executar operações na unidade.
BitLockerVolumeNotFound Nenhum volume criptografável BitLocker foi encontrado.
BitLockerNotActivated O BitLocker não está habilitado no volume.
BitLockerProtectorNotFound O protetor de chave de senha numérica não existe no volume.
BitLockerKeyInvalid A senha numérica fornecida não é pode desbloquear o volume.
BitLockerUnlockVolumeFailed Uma falha desconhecida ocorreu ao tentar desbloquear o volume.
BitLockerFailed Uma falha desconhecida ocorreu ao executar operações BitLocker.
ManifestNameInvalid O nome do arquivo de manifesto é inválido.
ManifestNameTooLong O nome do arquivo de manifesto é muito longo.
ManifestNotFound O arquivo de manifesto não foi encontrado.
ManifestAccessDenied Acesso ao arquivo de manifesto foi negado.
ManifestCorrupted O arquivo de manifesto está corrompido (o conteúdo não corresponde ao seu hash).
ManifestFormatInvalid O conteúdo do manifesto não corresponde ao formato necessário.
ManifestDriveIdMismatch A ID de unidade no arquivo de manifesto não corresponde à leitura do disco.
ReadManifestFailed Ocorreu uma falha de E/S de disco durante a leitura do manifesto.
BlobListFormatInvalid A lista de blob de exportação não corresponde ao formato necessário.
BlobRequestForbidden O acesso aos blobs na conta de armazenamento é proibido. Isso pode ser devido a uma chave da conta de armazenamento inválida ou SAS do contêiner.
InternalError Ocorreu um erro interno durante o processamento da unidade.

Códigos de status de blobs

A tabela a seguir lista os códigos de status para o processamento de um blob.

Código de status Descrição
Completed O blob concluiu o processamento sem erros.
CompletedWithErrors O blob concluiu o processamento com erros em um ou mais intervalos de páginas ou blocos, metadados ou propriedades.
FileNameInvalid O nome do arquivo é inválido.
FileNameTooLong O nome do arquivo é muito longo.
FileNotFound O arquivo não foi encontrado.
FileAccessDenied Acesso ao arquivo foi negado.
BlobRequestFailed A solicitação de serviço Blob para acessar o blob falhou.
BlobRequestForbidden A solicitação de serviço Blob para acessar o blob é proibida. Isso pode ser devido a uma chave da conta de armazenamento inválida ou SAS do contêiner.
RenameFailed Falha ao renomear o blob (para um trabalho de importação) ou o arquivo (para um trabalho de exportação).
BlobUnexpectedChange Ocorreu uma alteração inesperada com o blob (para um trabalho de exportação).
LeasePresent Há uma concessão no blob.
IOFailed Uma falha de E/S de disco ou rede ocorreu durante o processamento de blob.
Failed Uma falha desconhecida ocorreu durante o processamento de blob.

Códigos de status de disposição de importação

A tabela a seguir lista os códigos de status para resolver uma disposição de importação.

Código de status Descrição
Created O blob foi criado.
Renamed O blob foi renomeado de acordo com a disposição de importação de renomeação. O elemento Blob/BlobPath contém o URI para o blob renomeado.
Skipped O blob foi ignorado de acordo com a disposição de importação no-overwrite.
Overwritten O blob substituiu um blob existente de acordo com a disposição de importação overwrite.
Cancelled Uma falha anterior interrompeu o processamento da disposição de importação.

Códigos de status do intervalo de página/bloco

A tabela a seguir lista os códigos de status para o processamento de um intervalo de páginas ou de um bloco.

Código de status Descrição
Completed O intervalo de páginas ou bloco concluiu o processamento sem erros.
Committed O bloco foi confirmado, mas não na lista de blocos completa porque outros blocos falharam ou a própria lista de blocos completo falhou.
Uncommitted O bloco foi carregado, mas não foi confirmado.
Corrupted O intervalo de páginas ou bloco está corrompido (o conteúdo não corresponde ao seu hash).
FileUnexpectedEnd Fim de arquivo inesperado foi encontrado.
BlobUnexpectedEnd Fim de blob inesperado foi encontrado.
BlobRequestFailed A solicitação de serviço Blob para acessar o intervalo de páginas ou bloco falhou.
IOFailed Uma falha de E/S de disco ou rede ocorreu durante o processamento do intervalo de páginas ou bloco.
Failed Uma falha desconhecida ocorreu durante o processamento do intervalo de páginas ou bloco.
Cancelled Uma falha anterior interrompeu o processamento do intervalo de páginas ou bloco.

Códigos de status de metadados

A tabela a seguir lista os códigos de status para o processamento dos metadados do blob.

Código de status Descrição
Completed Os metadados concluíram o processamento sem erros.
FileNameInvalid O nome do arquivo de metadados é inválido.
FileNameTooLong O nome do arquivo de metadados é muito longo.
FileNotFound O arquivo de metadados não foi encontrado.
FileAccessDenied Acesso ao arquivo de metadados foi negado.
Corrupted O arquivo de metadados está corrompido (o conteúdo não corresponde ao seu hash).
XmlReadFailed O conteúdo dos metadados não corresponde ao formato necessário.
XmlWriteFailed A gravação de metadados XML falhou.
BlobRequestFailed A solicitação de serviço Blob para acessar os metadados falhou.
IOFailed Uma falha de E/S de disco ou rede ocorreu durante o processamento dos metadados.
Failed Uma falha desconhecida ocorreu durante o processamento dos metadados.
Cancelled Uma falha anterior interrompeu o processamento dos metadados.

Códigos de status das propriedades

A tabela a seguir lista os códigos de status para o processamento das propriedades do blob.

Código de status Descrição
Completed As propriedades concluíram o processamento sem erros.
FileNameInvalid O nome do arquivo de propriedades é inválido.
FileNameTooLong O nome do arquivo de propriedades é muito longo.
FileNotFound O arquivo de propriedades não foi encontrado.
FileAccessDenied O acesso ao arquivo de propriedades foi negado.
Corrupted O arquivo de propriedades está corrompido (o conteúdo não corresponde ao seu hash).
XmlReadFailed O conteúdo das propriedades não corresponde ao formato necessário.
XmlWriteFailed Falha ao gravar as propriedades XML.
BlobRequestFailed A solicitação de serviço Blob para acessar as propriedades falhou.
IOFailed Uma falha de E/S de disco ou rede ocorreu durante o processamento das propriedades.
Failed Uma falha desconhecida ocorreu durante o processamento das propriedades.
Cancelled Uma falha anterior interrompeu o processamento das propriedades.

Logs de exemplo

A seguir está um exemplo de log detalhado.

<?xml version="1.0" encoding="UTF-8"?>  
<DriveLog Version="2014-11-01">  
    <DriveId>WD-WMATV123456</DriveId>  
    <Blob Status="Completed">  
       <BlobPath>pictures/bob/wild/desert.jpg</BlobPath>  
       <FilePath>\Users\bob\Pictures\wild\desert.jpg</FilePath>  
       <Length>98304</Length>  
       <ImportDisposition Status="Created">overwrite</ImportDisposition>  
       <BlockList>  
          <Block Offset="0" Length="65536" Id="AAAAAA==" Hash=" 9C8AE14A55241F98533C4D80D85CDC68" Status="Completed"/>  
          <Block Offset="65536" Length="32768" Id="AQAAAA==" Hash=" DF54C531C9B3CA2570FDDDB3BCD0E27D" Status="Completed"/>  
       </BlockList>  
       <Metadata Status="Completed">  
          <GlobalPath Hash=" E34F54B7086BCF4EC1601D056F4C7E37">\Users\bob\Pictures\wild\metadata.xml</GlobalPath>  
       </Metadata>  
    </Blob>  
    <Blob Status="CompletedWithErrors">  
       <BlobPath>pictures/bob/animals/koala.jpg</BlobPath>  
       <FilePath>\Users\bob\Pictures\animals\koala.jpg</FilePath>  
       <Length>163840</Length>  
       <ImportDisposition Status="Overwritten">overwrite</ImportDisposition>  
       <PageRangeList>  
          <PageRange Offset="0" Length="65536" Hash="19701B8877418393CB3CB567F53EE225" Status="Completed"/>  
          <PageRange Offset="65536" Length="65536" Hash="AA2585F6F6FD01C4AD4256E018240CD4" Status="Corrupted"/>  
          <PageRange Offset="131072" Length="4096" Hash="9BA552E1C3EEAFFC91B42B979900A996" Status="Completed"/>  
       </PageRangeList>  
       <Properties Status="Completed">  
          <Path Hash="38D7AE80653F47F63C0222FEE90EC4E7">\Users\bob\Pictures\animals\koala.jpg.properties</Path>  
       </Properties>  
    </Blob>  
    <Status>CompletedWithErrors</Status>  
</DriveLog>  

O log de erros correspondente é mostrado abaixo.

<?xml version="1.0" encoding="UTF-8"?>  
<DriveLog Version="2014-11-01">  
    <DriveId>WD-WMATV6965824</DriveId>  
    <Blob Status="CompletedWithErrors">  
       <BlobPath>pictures/bob/animals/koala.jpg</BlobPath>  
       <FilePath>\Users\bob\Pictures\animals\koala.jpg</FilePath>  
       <Length>163840</Length>  
       <ImportDisposition Status="Overwritten">overwrite</ImportDisposition>  
       <PageRangeList>  
          <PageRange Offset="65536" Length="65536" Hash="AA2585F6F6FD01C4AD4256E018240CD4" Status="Corrupted"/>  
       </PageRangeList>  
    </Blob>  
    <Status>CompletedWithErrors</Status>  
</DriveLog>  

O log de erros a seguir para um trabalho de importação contém um erro sobre um arquivo não encontrado na unidade de importação. Observe que o status dos componentes subsequentes é Cancelled.

<?xml version="1.0" encoding="utf-8"?>  
<DriveLog Version="2014-11-01">  
  <DriveId>9WM35C2V</DriveId>  
  <Blob Status="FileNotFound">  
    <BlobPath>pictures/animals/koala.jpg</BlobPath>  
    <FilePath>\animals\koala.jpg</FilePath>  
    <Length>30310</Length>  
    <ImportDisposition Status="Cancelled">rename</ImportDisposition>  
    <BlockList>  
      <Block Offset="0" Length="6062" Id="MD5/cAzn4h7VVSWXf696qp5Uaw==" Hash="700CE7E21ED55525977FAF7AAA9E546B" Status="Cancelled" />  
      <Block Offset="6062" Length="6062" Id="MD5/PEnGwYOI8LPLNYdfKr7kAg==" Hash="3C49C6C18388F0B3CB35875F2ABEE402" Status="Cancelled" />  
      <Block Offset="12124" Length="6062" Id="MD5/FG4WxqfZKuUWZ2nGTU2qVA==" Hash="146E16C6A7D92AE5166769C64D4DAA54" Status="Cancelled" />  
      <Block Offset="18186" Length="6062" Id="MD5/ZzibNDzr3IRBQENRyegeXQ==" Hash="67389B343CEBDC8441404351C9E81E5D" Status="Cancelled" />  
      <Block Offset="24248" Length="6062" Id="MD5/ZzibNDzr3IRBQENRyegeXQ==" Hash="67389B343CEBDC8441404351C9E81E5D" Status="Cancelled" />  
    </BlockList>  
  </Blob>  
  <Status>CompletedWithErrors</Status>  
</DriveLog>  

O log de erros a seguir para um trabalho de exportação indica que o conteúdo do blob foi gravado com êxito na unidade, mas ocorreu um erro ao exportar as propriedades do blob.

<?xml version="1.0" encoding="utf-8"?>  
<DriveLog Version="2014-11-01">  
  <DriveId>9WM35C3U</DriveId>  
  <Blob Status="CompletedWithErrors">  
    <BlobPath>pictures/wild/canyon.jpg</BlobPath>  
    <FilePath>\pictures\wild\canyon.jpg</FilePath>  
    <LastModified>2012-09-18T23:47:08Z</LastModified>  
    <Length>163840</Length>  
    <BlockList />  
    <Properties Status="Failed" />  
  </Blob>  
  <Status>CompletedWithErrors</Status>  
</DriveLog>  

Próximas etapas