Skip to main content
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.

Configuração de notificação de metadados do PUT Bucket

A solicitação de configuração de notificação de metadados do PUT Bucket permite que você habilite o serviço de integração de pesquisa para buckets individuais. O XML de configuração de notificação de metadados fornecido no corpo da solicitação especifica os objetos cujos metadados são enviados ao índice de pesquisa de destino.

Você deve ter a permissão s3:PutBucketMetadataNotification para um bucket ou ser root da conta para concluir esta operação.

Solicitar

A solicitação deve incluir a configuração de notificação de metadados no corpo da solicitação. Cada configuração de notificação de metadados inclui uma ou mais regras. Cada regra especifica os objetos aos quais se aplica e o destino para onde o StorageGRID deve enviar metadados do objeto.

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 objetos com o prefixo /videos para outro.

Configurações que possuem prefixos sobrepostos não são válidas e são rejeitadas quando enviadas. Por exemplo, uma configuração que incluía uma regra para objetos com o prefixo test e uma segunda regra para objetos com o prefixo test2 não seria permitido.

Os destinos devem ser especificados usando o URN de um ponto de extremidade StorageGRID . O ponto de extremidade deve existir quando a configuração de notificação de metadados for enviada, ou a solicitação falhará como um 400 Bad Request . A mensagem de erro diz: Unable to save the metadata notification (search) policy. The specified endpoint URN does not exist: URN.

<MetadataNotificationConfiguration>
    <Rule>
        <ID>Rule-1</ID>
        <Status>rule-status</Status>
        <Prefix>key-prefix</Prefix>
        <Destination>
           <Urn>arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype</Urn>
        </Destination>
    </Rule>
    <Rule>
        <ID>Rule-2</ID>
         ...
    </Rule>
     ...
</MetadataNotificationConfiguration>

A tabela descreve os elementos no XML de configuração de notificação de metadados.

Nome Descrição Obrigatório

Configuração de Notificação de Metadados

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 Rule.

Sim

Regra

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

Regras com prefixos sobrepostos são rejeitadas.

Incluído no elemento MetadataNotificationConfiguration.

Sim

EU IA

Identificador exclusivo para a regra.

Incluído no elemento Rule.

Não

Status

O status pode ser "Habilitado" ou "Desabilitado". Nenhuma ação é tomada para regras que estão desabilitadas.

Incluído no elemento Rule.

Sim

Prefixo

Objetos que correspondem ao prefixo são afetados pela regra, e seus metadados são enviados ao destino especificado.

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

Incluído no elemento Rule.

Sim

Destino

Tag 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 a URN de um ponto de extremidade StorageGRID com as seguintes propriedades:

  • `es`deve ser o terceiro elemento.

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

Os endpoints são configurados usando o Tenant Manager ou a Tenant Management API. Eles assumem a seguinte forma:

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

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

O ponto de extremidade deve ser configurado antes que o XML de configuração seja enviado, ou a configuração falhará com um erro 404.

A urna está incluída no elemento Destino.

Sim

Exemplos de solicitação

Este exemplo mostra como habilitar a integração de pesquisa para um bucket. Neste exemplo, os metadados de todos os objetos são enviados para o mesmo destino.

PUT /test1?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host

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

Neste exemplo, metadados de objetos para objetos que correspondem ao prefixo /images é enviado para um destino, enquanto metadados de objeto para objetos que correspondem ao prefixo /videos é enviado para um segundo destino.

PUT /graphics?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host

<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>

JSON gerado pelo serviço de integração de pesquisa

Quando você habilita o serviço de integração de pesquisa para um bucket, um documento JSON é gerado e enviado ao ponto de extremidade de destino sempre que metadados ou tags de objeto são adicionados, atualizados ou excluídos.

Este exemplo mostra um exemplo do JSON que pode ser gerado quando um objeto com a chave SGWS/Tagging.txt é criado em um bucket chamado test . O test o bucket não é versionado, então o versionId a 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"
  }
}

Metadados de objeto incluídos em notificações de metadados

A tabela lista todos os campos incluídos no documento JSON que é enviado ao ponto de extremidade de destino quando a integração de pesquisa está habilitada.

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

Tipo Nome do item Descrição

Informações sobre bucket e objeto

balde

Nome do balde

Informações sobre bucket e objeto

chave

Nome da chave do objeto

Informações sobre bucket e objeto

ID da versão

Versão do objeto, para objetos em buckets versionados

Informações sobre bucket e objeto

região

Região de balde, por exemplo us-east-1

Metadados do sistema

tamanho

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

Metadados do sistema

md5

Hash de objeto

Metadados do usuário

metadados key:value

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

Etiquetas

etiquetas key:value

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

Observação Para tags e metadados do usuário, o StorageGRID passa 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 de campos dinâmicos e para mapeamento de formatos de data. Você deve habilitar os mapeamentos de campos dinâmicos 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.
Informações relacionadas

"Use uma conta de inquilino"