Inventário de blobs do armazenamento do Azure

O inventário de blobs do Armazenamento do Azure lista os contentores, blobs, versões dos blobs, snapshots e propriedades associadas na sua conta de armazenamento. O serviço gera relatórios diariamente ou semanalmente em valores separados por vírgulas (CSV) ou em formato Apache Parquet.

Use relatórios de inventário para auditar o estado de retenção, retenção legal ou encriptação do conteúdo da sua conta de armazenamento. Também pode analisar o tamanho total, idade, distribuição por níveis e outros atributos dos seus dados.

O inventário blob pode simplificar os fluxos de trabalho empresariais e acelerar os trabalhos de processamento de dados. Fornece automatização agendada das APIs List Containers e List Blobs. As regras de inventário filtram o conteúdo dos relatórios por tipo de blob, prefixo ou propriedades de blob selecionadas.

O inventário de blob do Armazenamento do Azure está disponível para os seguintes tipos de contas de armazenamento:

  • Padrão de uso geral v2
  • Armazenamento premium de blob de bloco
  • Armazenamento de Blobs

Características do inventário

O inventário de blobs do Armazenamento do Azure suporta as seguintes funcionalidades e capacidades.

  • Relatórios de inventário para blobs e contêineres

    Você pode gerar relatórios de inventário para blobs e contêineres. Um relatório sobre blobs pode conter blobs de base, instantâneos, comprimento do conteúdo, versões dos blobs e as respetivas propriedades associadas, como a hora de criação e a hora da última modificação. O relatório não menciona contentores vazios. Um relatório sobre contentores descreve os contentores e as propriedades associadas, como o estado da política de imutabilidade e o estado da retenção legal.

  • Esquema personalizado

    Você pode escolher quais campos aparecem nos relatórios. Escolha a partir de uma lista de campos suportados. Essa lista aparece mais adiante neste artigo.

  • Formato de saída CSV e Apache Parquet

    Você pode gerar um relatório de inventário no formato de saída CSV ou Apache Parquet.

  • Arquivo de manifesto e evento do Azure Event Grid por cada relatório de inventário

    O serviço gera um ficheiro manifesto e um evento Azure Event Grid para cada relatório de inventário. O artigo descreve estes itens mais adiante.

Habilitando relatórios de inventário

Ative relatórios de inventário de blobs adicionando uma política com uma ou mais regras à sua conta de armazenamento. Para obter orientação, consulte Ativar relatórios de inventário de blobs do Armazenamento do Azure.

Atualizando uma política de inventário

Se configurou o inventário de blobs do Armazenamento do Azure antes de junho de 2021, carregue a política, faça as alterações necessárias e depois guarde-a. Quando recarrega a política, o serviço preenche o destino de cada regra, o ficheiro de manifesto e as definições de evento do Azure Event Grid com valores predefinidos. Podes mudar esses valores.

  • Cada regra suporta um contentor de destino em vez de partilhar um destino ao nível da política.

  • O serviço gera um ficheiro manifest e um evento Azure Event Grid para cada regra em vez de para a política.

Política de inventário

Para configurar relatórios de inventário, adicione uma política de inventário com uma ou mais regras a um documento JSON.

{
  "enabled": true,
  "rules": [
  {
    "enabled": true,
    "name": "inventoryrule1",
    "destination": "inventory-destination-container",
    "definition": {
      "filters": {
        "blobTypes": ["blockBlob"]
      },
      "format": "csv",
      "objectType": "blob",
      "schedule": "daily",
      "schemaFields": ["Name"]
    }
  },
  {
    "enabled": true,
    "name": "inventoryrule2",
    "destination": "inventory-destination-container",
    "definition": {
      "filters": {},
      "format": "csv",
      "objectType": "container",
      "schedule": "weekly",
      "schemaFields": ["Name"]
    }
  }]
}

Exiba o JSON para uma política de inventário selecionando a guia Visualização de Código na seção de Inventário de Blob do portal do Azure.

Nome do parâmetro Tipo de parâmetro Notas Necessária?
enabled Booleano Usado para desativar toda a política. Quando definido como verdadeiro, o campo ao nível enabled da regra sobrepõe-se a este parâmetro. Quando desativado, o inventário fica desativado para todas as regras. Sim
rules Matriz de objetos de regra Pelo menos uma regra é necessária em uma política. Há suporte para até 100 regras por política. Sim

Regras de inventário

Uma regra captura as condições de filtragem e os parâmetros de saída para gerar um relatório de inventário. Cada regra cria um relatório de inventário. As regras podem ter prefixos sobrepostos. Um blob pode aparecer em mais de um inventário, dependendo das definições de regras.

Cada regra dentro da política tem vários parâmetros:

Nome do parâmetro Tipo de parâmetro Notas Necessária?
name cadeia (de caracteres) Um nome de regra pode incluir até 256 caracteres alfanuméricos sensíveis a maiúsculas e minúsculas. O nome deve ser exclusivo dentro de uma política. Sim
enabled Booleano Uma opção para ativar ou desativar uma regra. O valor padrão é true. Sim
definition Definição da regra de inventário JSON Cada definição é composta por um conjunto de filtros de regras. Sim
destination cadeia (de caracteres) O contentor de destino onde o serviço gera todos os ficheiros de inventário. O contêiner de destino já deve existir.

O sinalizador global inventário de Blob ativado tem precedência sobre o parâmetro ativado numa regra.

Definição da regra

Nome do parâmetro Tipo de parâmetro Notas Necessário
filters JSON Os filtros determinam se um blob ou recipiente faz parte do inventário. Sim
format cadeia (de caracteres) Determina o formato de saída do ficheiro de inventário. Os valores válidos são csv (para o formato CSV) e parquet (para o formato Apache Parquet). Sim
objectType cadeia (de caracteres) Indica se a regra de inventário se aplica a blobs ou contentores. Os valores válidos são blob e container. Sim
schedule cadeia (de caracteres) Especifica quando executar a regra. Os valores válidos são daily e weekly. Sim
schemaFields Matriz JSON Lista os campos de esquema a incluir no inventário. Sim

Filtros de regras

Use os seguintes filtros para personalizar um relatório de inventário de blobs:

Nome do filtro Tipo de filtro Notas Necessária?
blobTypes Matriz de valores de enum predefinidos Os valores válidos são blockBlob e appendBlob para contas com espaço de nomes hierárquicos, e blockBlob, appendBlob, e pageBlob para outras contas. Este campo não se aplica ao inventário de contentores (objectType: container). Sim
creationTime Número Especifica há quantos dias o blob foi criado. Por exemplo, um valor de 3 inclui apenas blobs criados nos últimos três dias. Não
prefixMatch Array de até 10 cordas Se não definir prefixMatch ou fornecer um prefixo vazio, a regra aplica-se a todos os blobs dentro da conta de armazenamento. Um prefixo deve ser um prefixo de nome de contêiner ou um nome de contêiner. Por exemplo, container ou container1/foo. Não
excludePrefix Array de até 10 cordas Especifica os caminhos dos blobs a excluir do relatório de inventário.

Um excludePrefix tem de ser um prefixo do nome de contentor ou um nome de contentor. Com um vazio excludePrefix, o relatório lista todos os blobs com nomes que correspondem a qualquer prefixMatch string.

Para incluir um prefixo mas excluir um subconjunto específico, use o excludePrefix filtro. Por exemplo, para incluir todos os blobs sob container-a exceto os que estão sob container-a/folder, defina prefixMatch como container-a e excludePrefix para container-a/folder.
Não
includeSnapshots Booleano Especifica se o inventário inclui snapshots. A predefinição é false. Este campo não se aplica ao inventário de contentores (objectType: container). Não
includeBlobVersions Booleano Especifica se o inventário inclui versões de blobs. A predefinição é false. Este campo não se aplica ao inventário de contentores (objectType: container). Não
includeDeleted Booleano Especifica se o inventário inclui blobs eliminados. A predefinição é false. Em contas que têm um namespace hierárquico, este filtro inclui pastas e blobs num estado de eliminação suave.

Apenas pastas e ficheiros explicitamente eliminados aparecem nos relatórios. As subpastas e os ficheiros eliminados na sequência da eliminação de uma pasta principal não estão incluídos.
Não

Exiba o JSON para regras de inventário selecionando a guia Visualização de Código na secção Inventário de Blobs do portal do Azure. Especificas filtros dentro de uma definição de regra.

{
  "destination": "inventory-destination-container",
  "enabled": true,
  "rules": [
  {
    "definition": {
      "filters": {
        "blobTypes": ["blockBlob", "appendBlob", "pageBlob"],
        "prefixMatch": ["inventorytestcontainer1", "inventorytestcontainer2/abcd", "etc"],
        "excludePrefix": ["inventorytestcontainer10", "etc/logs"],
        "includeSnapshots": false,
        "includeBlobVersions": true
      },
      "format": "csv",
      "objectType": "blob",
      "schedule": "daily",
      "schemaFields": ["Name", "Creation-Time"]
    },
    "enabled": true,
    "name": "blobinventorytest",
    "destination": "inventorydestinationContainer"
  },
  {
    "definition": {
      "filters": {
        "prefixMatch": ["inventorytestcontainer1", "inventorytestcontainer2/abcd", "etc"]
      },
      "format": "csv",
      "objectType": "container",
      "schedule": "weekly",
      "schemaFields": ["Name", "HasImmutabilityPolicy", "HasLegalHold"]
    },
    "enabled": true,
    "name": "containerinventorytest",
    "destination": "inventorydestinationContainer"
    }
  ]
}

É suportado o uso de campos de esquema personalizados para inventário de blobs

Nota

A coluna Armazenamento Data Lake mostra o suporte em contas que têm o recurso de namespace hierárquico habilitado.

Campo Armazenamento de Blobs (suporte padrão) Data Lake Storage
Nome (Obrigatório) Sim Sim
Data de Criação Sim Sim
Última modificação Sim Sim
Hora do último acesso1 Sim Sim
ETag Sim Sim
Comprimento do Conteúdo Sim Sim
Tipo de Conteúdo Sim Sim
Codificação de conteúdo Sim Sim
Linguagem de conteúdo Sim Sim
Conteúdo-CRC64 Sim Sim
Conteúdo-MD5 Sim Sim
Controle de Cache Sim Sim
Cache-Disposition Sim Sim
Tipo de Blob Sim Sim
Camada de acesso Sim Sim
HoraDeMudançaDoNívelDeAcesso Sim Sim
LeaseStatus Sim Sim
LeaseState Sim Sim
Encriptação no Servidor Sim Sim
ChaveFornecidaPeloClienteSHA256 Sim Sim
Metadados Sim Sim
Prazo de validade Não Sim
hdi_isfolder Não Sim
Proprietário Não Sim
Grupo ou Agrupar Não Sim
Permissões Não Sim
ACL Não Sim
Snapshot (disponível e necessário quando você opta por incluir snapshots no relatório) Sim Sim
Eliminado Sim Sim
ID de eliminação Não Sim
Tempo Eliminado Não Sim
DiasRestantesDeRetenção Sim Sim
VersionId (Disponível e necessário quando você opta por incluir versões de blob em seu relatório) Sim Não
IsCurrentVersion (Disponível e necessário ao se optar por incluir versões de blocos no relatório) Sim Não
Contagem de Tags Sim Não
Etiquetas Sim Não
CopyId Sim Sim
Fonte de cópia Sim Sim
CopyStatus Sim Sim
CopyProgress Sim Sim
TempoDeConclusãoDaCópia Sim Sim
Descrição do Estado de Cópia Sim Sim
Política de Imutabilidade até a Data Sim Sim
Modo de Política de Imutabilidade Sim Sim
LegalHold Sim Sim
PrioridadeReidratar Sim Sim
Estado do Arquivamento Sim Sim
EncryptionScope Sim Sim
IncrementalCopy Sim Sim
x-ms-blob-número-sequência Sim Não

1 Desativado por padrão. Opcionalmente, ative o rastreamento de tempo de acesso.

Campos de esquema personalizados suportados para inventário de contêineres

Nota

A coluna Armazenamento Data Lake mostra o suporte em contas que têm o recurso de namespace hierárquico habilitado.

Campo Armazenamento de Blobs (suporte padrão) Data Lake Storage
Nome (Obrigatório) Sim Sim
Última modificação Sim Sim
ETag Sim Sim
LeaseStatus Sim Sim
LeaseState Sim Sim
Duração do Arrendamento Sim Sim
Metadados Sim Sim
Acesso Público Sim Sim
Âmbito de Encriptação Padrão Sim Sim
NegarSubstituiçãoDeÂmbitoDeCriptografia Sim Sim
TemPolíticaDeImutabilidade Sim Sim
TemRetençãoLegal Sim Sim
Armazenamento Imutável com Versionamento Ativado Sim Sim
Excluído (Aparece somente se incluir contêineres excluídos estiver selecionado) Sim Sim
Versão (aparece somente se incluir contêineres excluídos estiver selecionado) Sim Sim
DeletedTime (Aparece apenas se a opção de incluir contentores eliminados estiver selecionada) Sim Sim
RemainingRetentionDays (Aparece apenas se a opção de incluir contentores eliminados estiver selecionada) Sim Sim

Contagem de inventário

Se configurares uma regra para correr diariamente, ela corre todos os dias. Se configurares uma regra para correr semanalmente, ela corre todos os domingos no UTC.

Uma corrida de inventário pode demorar até seis dias antes de falhar. Para saber mais sobre fatores que afetam o tempo de execução, consulte características de desempenho do inventário Blob.

As sequências não se sobrepõem, por isso uma sequência tem de ser concluída antes de começar outra sequência com a mesma regra. Por exemplo, se a execução do dia anterior de uma regra diária ainda estiver em execução, o serviço não inicia uma nova execução nesse dia. As regras semanais são executadas todos os domingos, independentemente de uma execução anterior ser bem-sucedida ou falhar. Se uma execução não for concluída com sucesso, verifique as execuções subsequentes antes de contactar o suporte. O desempenho das execuções pode variar, pelo que uma execução subsequente pode ser concluída com êxito.

As políticas de inventário são lidas ou escritas na íntegra. Não há suporte para atualizações parciais. As regras de inventário são avaliadas diariamente. Se alterar uma definição de regra após o serviço avaliar a apólice desse dia, o serviço avalia as suas atualizações no dia seguinte.

Evento de conclusão do inventário

O BlobInventoryPolicyCompleted evento é gerado quando a execução do inventário é concluída para uma regra. Esse evento também ocorre se a execução do inventário falhar com um erro do usuário antes de começar a ser executada. Por exemplo, uma política inválida ou um contentor de destino em falta desencadeia o evento. O JSON seguinte mostra um evento exemplar BlobInventoryPolicyCompleted .

{
  "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/BlobInventory/providers/Microsoft.EventGrid/topics/BlobInventoryTopic",
  "subject": "BlobDataManagement/BlobInventory",
  "eventType": "Microsoft.Storage.BlobInventoryPolicyCompleted",
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "data": {
    "scheduleDateTime": "2021-05-28T03:50:27Z",
    "accountName": "testaccount",
    "ruleName": "Rule_1",
    "policyRunStatus": "Succeeded",
    "policyRunStatusMessage": "Inventory run succeeded, refer manifest file for inventory details.",
    "policyRunId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "manifestBlobUrl": "https://testaccount.blob.core.windows.net/inventory-destination-container/2021/05/26/13-25-36/Rule_1/Rule_1-manifest.json"
  },
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2021-05-28T15:03:18Z"
}

A tabela a seguir descreve o esquema do evento BlobInventoryPolicyCompleted.

Campo Tipo Descrição
programaçãoDataHora cadeia (de caracteres) A hora em que a regra do inventário foi programada.
nome da conta cadeia (de caracteres) O nome da conta de armazenamento.
nomeDaRegra cadeia (de caracteres) O nome da regra.
estado da execução da política cadeia (de caracteres) O estado do processo de inventário. Os valores possíveis são Succeeded, PartiallySucceedede Failed.
mensagemDeEstadoDeExecuçãoDaPolítica cadeia (de caracteres) A mensagem de estado da execução do inventário.
policyRunId cadeia (de caracteres) O identificador de execução da política para a execução do inventário.
manifestBlobUrl cadeia (de caracteres) A URL de blob para o ficheiro de manifesto para a execução do inventário.

Produção de inventário

Cada regra de inventário cria um conjunto de ficheiros no contentor de destino especificado para essa regra. A produção de inventário está disponível pelo seguinte caminho: https://<accountName>.blob.core.windows.net/<inventory-destination-container>/YYYY/MM/DD/HH-MM-SS/<ruleName> onde:

  • accountName é o nome da sua conta de Armazenamento de Blobs do Azure.
  • inventory-destination-container é o contêiner de destino especificado na regra de inventário.
  • YYYY/MM/DD/HH-MM-SS é a hora em que o inventário começou.
  • ruleName é o nome da regra de inventário.

Arquivos de inventário

Cada execução de inventário para uma regra gera os seguintes arquivos:

  • Arquivo de inventário: uma execução de inventário para uma regra gera um arquivo formatado CSV ou Apache Parquet. Cada um desses arquivos contém objetos correspondentes e seus metadados.

    Importante

    As corridas de inventário produzem múltiplos ficheiros se o número de objetos for grande. Para saber mais, consulte Perguntas frequentes sobre saída de vários arquivos de inventário.

    Relatórios no formato Apache Parquet apresentam datas no seguinte formato: timestamp_millis [number of milliseconds since 1970-01-01 00:00:00 UTC]. Para um arquivo formatado em CSV, a primeira linha é sempre a linha do esquema. A imagem a seguir mostra um arquivo CSV de inventário aberto no Microsoft Excel.

    Captura de ecrã de um ficheiro CSV de inventário aberto no Microsoft Excel

    Importante

    Os caminhos de blob que aparecem em um arquivo de inventário podem não aparecer em nenhuma ordem específica.

  • Ficheiro de soma de verificação: Um ficheiro de soma de verificação contém o MD5 do conteúdo do manifest.json ficheiro. O nome do arquivo de soma de verificação é <ruleName>-manifest.checksum. A geração do ficheiro de soma de verificação marca a conclusão da execução de uma regra de inventário.

  • Ficheiro manifesto: Um manifest.json ficheiro contém os detalhes dos ficheiros de inventário gerados para essa regra. O nome do arquivo é <ruleName>-manifest.json. Este ficheiro também regista a definição da regra e o caminho para o inventário dessa regra. O JSON seguinte mostra o conteúdo de um ficheiro de exemplo manifest.json .

    {
    "destinationContainer" : "inventory-destination-container",
    "endpoint" : "https://testaccount.blob.core.windows.net",
    "files" : [
      {
        "blob" : "2021/05/26/13-25-36/Rule_1/Rule_1.csv",
        "size" : 12710092
      }
    ],
    "inventoryCompletionTime" : "2021-05-26T13:35:56Z",
    "inventoryStartTime" : "2021-05-26T13:25:36Z",
    "ruleDefinition" : {
      "filters" : {
        "blobTypes" : [ "blockBlob" ],
        "includeBlobVersions" : false,
        "includeSnapshots" : false,
        "prefixMatch" : [ "penner-test-container-100003" ]
      },
      "format" : "csv",
      "objectType" : "blob",
      "schedule" : "daily",
      "schemaFields" : [
        "Name",
        "Creation-Time",
        "BlobType",
        "Content-Length",
        "LastAccessTime",
        "Last-Modified",
        "Metadata",
        "AccessTier"
      ]
    },
    "ruleName" : "Rule_1",
    "status" : "Succeeded",
    "summary" : {
      "objectCount" : 110000,
      "totalObjectSize" : 23789775
    },
    "version" : "1.0"
    }
    

    Este arquivo é criado quando a execução começa. O status campo deste arquivo é definido como Pending até que a execução seja concluída. Após a conclusão da execução, este campo é definido para um estado de conclusão (por exemplo: Succeeded ou Failed).

Preços e faturação

O preço do inventário baseia-se no número de blobs e contentores que escaneia durante o período de faturação. A página de preços do Armazenamento de Blobs do Azure mostra o preço por um milhão de objetos analisados. Por exemplo, se o preço para digitalizar um milhão de objetos for $0.003, sua conta contiver três milhões de objetos e você produzir quatro relatórios em um mês, sua fatura será 4 * 3 * $0.003 = $0.036.

Depois de criar ficheiros de inventário, incorre em custos adicionais padrão de armazenamento de dados e operações para armazenar, ler e escrever os ficheiros gerados pelo inventário na conta.

Se uma regra contiver um prefixo que se sobrepõe a um prefixo de qualquer outra regra, o mesmo blob pode aparecer em mais do que um relatório de inventário. Neste caso, paga por ambas as situações. Por exemplo, suponha que o prefixMatch elemento de uma regra está definido como ["inventory-blob-1", "inventory-blob-2"], e o prefixMatch elemento de outra regra está definido como ["inventory-blob-10", "inventory-blob-20"]. Um objeto nomeado inventory-blob-200 aparece em ambos os relatórios de inventário.

Os snapshots e as versões de um blob também são contabilizados para efeitos de faturação, mesmo que defina os filtros includeSnapshots e includeBlobVersions como false. Esses valores de filtro não afetam o faturamento. Você pode usá-los apenas para filtrar o que aparece no relatório.

Para obter mais informações sobre preços para o inventário de blobs do Armazenamento do Azure, consulte Preços do Armazenamento do Azure para Blobs.

Suporte de funcionalidades

O suporte para esse recurso pode ser afetado pela habilitação do Data Lake Storage Gen2, do protocolo NFS (Network File System) 3.0 ou do SSH File Transfer Protocol (SFTP). Se você habilitou qualquer um desses recursos, consulte Suporte ao recurso de Armazenamento de Blob nas contas de Armazenamento do Azure para avaliar o suporte para esse recurso.

Problemas e limitações conhecidos

Esta seção descreve as limitações e problemas conhecidos da funcionalidade de inventário de blobs do Armazenamento do Azure.

O relatório de inventário, o número de objetos e o tamanho dos dados não devem ser comparados com a faturação

Um relatório de inventário não inclui metadados, registos do sistema e propriedades, por isso não o compare com a contagem de objetos faturados e o tamanho dos dados da conta de armazenamento.

Os trabalhos de inventário demoram mais a concluir em certos casos

Um trabalho de inventário pode demorar mais nestes casos:

  • Adiciona-se uma grande quantidade de dados novos.

  • Executa uma regra ou um conjunto de regras pela primeira vez.

    A corrida de inventário pode demorar mais do que as corridas seguintes.

  • Uma execução de um inventário processa uma grande quantidade de dados em contas com o espaço de nomes hierárquico ativado.

    Uma tarefa de inventário pode demorar mais de um dia a ser concluída para contas com espaço de nomes hierárquico ativado que tenham centenas de milhões de blobs. Às vezes, o trabalho de inventário falha e não cria um arquivo de inventário. Se um trabalho não for concluído com êxito, verifique os trabalhos subsequentes para ver se estão concluídos antes de entrar em contato com o suporte.

  • Não há opção para gerar um relatório retrospetivamente para uma data específica.

Os trabalhos de inventário não podem gravar relatórios em contêineres que tenham uma política de replicação de objetos

Uma política de replicação de objetos pode impedir que um trabalho de inventário grave relatórios de inventário no contêiner de destino. Outros cenários podem arquivar os relatórios ou torná-los imutáveis quando estão parcialmente concluídos, o que pode causar falhas nos trabalhos de inventário.

Inventário e armazenamento imutável

Não pode configurar uma política de inventário na conta se o suporte à imutabilidade ao nível da versão estiver ativado nessa conta, ou se o suporte à imutabilidade ao nível da versão estiver ativado no contentor de destino que define na política de inventário.

Os relatórios podem excluir blobs excluídos por software em contas que têm um namespace hierárquico

Se apagar um contentor ou diretório quando a eliminação suave está ativada, o serviço marca o contentor e todo o seu conteúdo como eliminados suavemente. No entanto, apenas o contentor ou diretório, reportado como um blob de comprimento zero, aparece num relatório de inventário. O relatório não inclui blobs filhos com eliminação suave, mesmo que defina o campo da includeDeleted política como verdadeiro. Este comportamento pode criar uma diferença entre métricas de capacidade no portal do Azure e no relatório de inventário.

Apenas os blobs que apagas explicitamente aparecem nos relatórios. Para obter uma listagem completa de todos os blobs apagados suavemente (diretório e todos os blobs filhos), as cargas de trabalho devem eliminar cada blob num diretório antes de eliminar o próprio diretório.

Lidar com duplicados no inventário de blobs

O Blob Inventory funciona num sistema distribuído, o que significa que, em casos raros, entradas duplicadas de blob podem aparecer nos seus relatórios.

Se o seu caso de uso exigir entradas únicas de blobs quando faz o pós-processamento de um relatório de inventário, use o campo Name para devolver apenas blobs exclusivos.

Se o seu relatório incluir versões de blobs, use os campos Name e Version ID em conjunto para identificar e retornar apenas blobs e versões únicos.

Próximos passos