Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Configure o serviço de integração de pesquisa em StorageGRID

Você habilita a integração de pesquisa para um bucket criando um XML de integração de pesquisa e usando o Tenant Manager para aplicar o XML ao bucket.

Antes de começar
  • Os serviços da plataforma foram ativados para sua conta de locatário por um administrador do StorageGRID.

  • Você já criou um bucket S3 cujo conteúdo você deseja indexar.

  • O endpoint que você pretende usar como destino para o serviço de integração de pesquisa já existe e você possui seu URN.

  • Você pertence a um grupo de usuários que possui as "Gerenciar todos os buckets ou permissão de acesso à raiz". Essas permissões substituem as configurações de permissão nas políticas de grupo ou bucket ao configurar o bucket usando o Gerenciador de Locatários.

Sobre esta tarefa

Após configurar o serviço de integração de pesquisa para um bucket de origem, a criação de um objeto ou a atualização dos metadados ou tags de um objeto aciona o envio dos metadados do objeto para o endpoint de destino.

Se você ativar o serviço de integração de pesquisa para um bucket que já contém objetos, as notificações de metadados não serão enviadas automaticamente para os objetos existentes. Atualize esses objetos existentes para garantir que seus metadados sejam adicionados ao índice de pesquisa de destino.

Passos
  1. Ativar a integração de pesquisa para um bucket:

    • Utilize um editor de texto para criar o XML de notificação de metadados necessário para habilitar a integração de pesquisa.

    • Ao configurar o XML, use o URN de um endpoint de integração de pesquisa como destino.

      Os objetos podem ser filtrados pelo prefixo do nome do objeto. Por exemplo, você pode enviar metadados para objetos com o prefixo images para um destino e metadados para objetos com o prefixo videos para outro. Configurações com prefixos sobrepostos não são válidas e são rejeitadas no momento do envio. Por exemplo, uma configuração que inclua uma regra para objetos com o prefixo test e uma segunda regra para objetos com o prefixo test2 não é permitida.

      <MetadataNotificationConfiguration>
       <Rule>
          <Status>Enabled</Status>
          <Prefix></Prefix>
          <Destination>
             <Urn>/Urn>
             </Destination>
       </Rule>
      </MetadataNotificationConfiguration>

      Elementos no XML de configuração da notificação de metadados:

    Nome Descrição Obrigatório

    MetadataNotificationConfiguration

    Tag de contêiner para regras usadas para especificar os objetos e o destino para notificações de metadados.

    Contém um ou mais elementos de Rule.

    Sim

    Regra

    Etiqueta de contêiner para uma regra que identifica os objetos cujos metadados devem ser adicionados a um índice específico.

    Regras com prefixos sobrepostos são rejeitadas.

    Incluído no elemento MetadataNotificationConfiguration.

    Sim

    ID

    Identificador único para a regra.

    Incluído no elemento Rule.

    Não

    Status

    O status pode ser 'Ativado' ou 'Desativado'. Nenhuma ação é executada para regras desativadas.

    Incluído no elemento Rule.

    Sim

    Prefixo

    Os objetos que correspondem ao prefixo são afetados pela regra e seus metadados são enviados para o destino especificado.

    Para corresponder a todos os objetos, especifique um prefixo vazio.

    Incluído no elemento Rule.

    Sim

    Destino

    Etiqueta de contêiner para o destino de uma regra.

    Incluído no elemento Rule.

    Sim

    Urna

    URN do destino para onde os metadados do objeto são enviados. Deve ser o URN de um endpoint do StorageGRID com as seguintes propriedades:

    • `es`deve ser o terceiro elemento.

    • O URN deve terminar com o índice e o tipo onde os metadados estão armazenados, no formato domain-name/myindex/mytype.

    Os endpoints são configurados usando o Tenant Manager ou a Tenant Management API. Eles têm o seguinte formato:

    • arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype

    • urn:mysite:es:::mydomain/myindex/mytype

    O endpoint deve ser configurado antes do envio do XML de configuração, ou a configuração falhará com um erro 404.

    O URN está incluído no elemento destino.

    Sim

  2. No Gerenciador de Locatários, selecione ARMAZENAMENTO (S3) > Buckets.

  3. Selecione o nome do bucket de origem.

    A página de detalhes do bucket é exibida.

  4. Selecione Serviços da plataforma > Integração de pesquisa

  5. Selecione a caixa de seleção Enable search integration.

  6. Cole a configuração de notificação de metadados na caixa de texto e selecione Salvar alterações.

    Observação Os serviços da plataforma devem ser ativados para cada conta de locatário por um administrador do StorageGRID usando o Grid Manager ou a Management API. Entre em contato com seu administrador do StorageGRID se ocorrer um erro ao salvar o XML de configuração.
  7. Verifique se o serviço de integração de pesquisa está configurado corretamente:

    1. Adicione um objeto ao bucket de origem que atenda aos requisitos para acionar uma notificação de metadados, conforme especificado no XML de configuração.

      No exemplo mostrado anteriormente, todos os objetos adicionados ao bucket acionam uma notificação de metadados.

    2. Confirme se um documento JSON contendo os metadados e as tags do objeto foi adicionado ao índice de pesquisa especificado no endpoint.

Depois que você terminar

Se necessário, você pode desativar a integração de pesquisa para um bucket usando um dos seguintes métodos:

  • Selecione STORAGE (S3) > Buckets e desmarque a caixa de seleção Enable search integration.

  • Se você estiver usando a API S3 diretamente, use uma solicitação DELETE Bucket metadata notification. Veja as instruções para implementar aplicativos cliente S3.

Exemplo: configuração de notificação de metadados que se aplica a todos os objetos

Neste exemplo, os metadados dos objetos são enviados para o mesmo destino.

<MetadataNotificationConfiguration>
    <Rule>
        <ID>Rule-1</ID>
        <Status>Enabled</Status>
        <Prefix></Prefix>
        <Destination>
           <Urn>urn:myes:es:::sgws-notifications/test1/all</Urn>
        </Destination>
    </Rule>
</MetadataNotificationConfiguration>

Exemplo: configuração de notificação de metadados com duas regras

Neste exemplo, os metadados dos objetos que correspondem ao prefixo /images são enviados para um destino, enquanto os metadados dos objetos que correspondem ao prefixo /videos são enviados para um segundo destino.

<MetadataNotificationConfiguration>
    <Rule>
        <ID>Images-rule</ID>
        <Status>Enabled</Status>
        <Prefix>/images</Prefix>
        <Destination>
           <Urn>arn:aws:es:us-east-1:3333333:domain/es-domain/graphics/imagetype</Urn>
        </Destination>
    </Rule>
    <Rule>
        <ID>Videos-rule</ID>
        <Status>Enabled</Status>
        <Prefix>/videos</Prefix>
        <Destination>
           <Urn>arn:aws:es:us-west-1:22222222:domain/es-domain/graphics/videotype</Urn>
        </Destination>
    </Rule>
</MetadataNotificationConfiguration>

Formato de notificação de metadados

Ao ativar o serviço de integração de pesquisa para um bucket, um documento JSON é gerado e enviado para o endpoint de destino sempre que os metadados ou tags de um objeto são adicionados, atualizados ou excluídos.

Este exemplo mostra um exemplo do JSON que poderia ser gerado quando um objeto com a chave SGWS/Tagging.txt é criado em um bucket chamado test. O test bucket não é versionado, portanto a versionId tag está vazia.

{
  "bucket": "test",
  "key": "SGWS/Tagging.txt",
  "versionId": "",
  "accountId": "86928401983529626822",
  "size": 38,
  "md5": "3d6c7634a85436eee06d43415012855",
  "region":"us-east-1",
  "metadata": {
    "age": "25"
  },
  "tags": {
    "color": "yellow"
  }
}

Campos incluídos no documento JSON

O nome do documento inclui o nome do bucket, o nome do objeto e o ID da versão, se presente.

Informações sobre buckets e objetos

bucket: Nome do bucket

key: nome da chave do objeto

versionID: Versão do objeto, para objetos em buckets versionados

region: Região do bucket, por exemplo us-east-1

Metadados do sistema

size: Tamanho do objeto (em bytes) conforme visível para um cliente HTTP

md5: hash de objeto

Metadados do usuário

metadata: Todos os metadados do usuário para o objeto, como pares de chave-valor

key:value

Tags

tags: Todas as tags de objeto definidas para o objeto, como pares chave-valor

key:value

Como visualizar resultados no Elasticsearch

Para tags e metadados do usuário, StorageGRID envia datas e números para o Elasticsearch como strings ou como notificações de eventos do S3. Para configurar o Elasticsearch para interpretar essas strings como datas ou números, siga as instruções do Elasticsearch para mapeamento dinâmico de campos e para mapeamento de formatos de data. Habilite os mapeamentos dinâmicos de campos no índice antes de configurar o serviço de integração de pesquisa. Depois que um documento é indexado, você não pode editar os tipos de campo do documento no índice.