Amazon S3 - Amazon Kendra

Amazon S3

O Amazon S3 é um serviço de armazenamento de objetos que armazena dados como objetos em buckets. Você pode usar o Amazon Kendra para indexar o repositório de documentos no bucket do Amazon S3.

Atenção

O Amazon Kendra não usa uma política de bucket que concede permissões a uma entidade principal do Amazon Kendra para interagir com um bucket do S3. Em vez disso, ele usa as funções do IAM. O Amazon Kendra não deve estar incluído como membro confiável na política de bucket para evitar problemas de segurança de dados ao conceder permissões acidentalmente a diretores arbitrários. No entanto, você pode adicionar uma política de bucket para usar um bucket do Amazon S3 em contas diferentes. Para obter mais informações, consulte Políticas para uso do Amazon S3 em todas as contas (na guia Funções do IAM S3, em Funções para fontes de dados do IAM). Para obter mais informações sobre as funções do IAM para fontes de dados do S3, consulte as funções do IAM.

nota

Agora, o Amazon Kendra é compatível com um conector do Amazon S3 atualizado.

O console do foi atualizado automaticamente para você. Todos os novos conectores que você cria no console usam a arquitetura atualizada. Se você usa a API, agora deve passar a usar o objeto TemplateConfiguration em vez do S3DataSourceConfiguration para configurar o conector.

Os conectores configurados usando o console antigo e a arquitetura de API continuam funcionando conforme configurados. No entanto, não é possível editá-los nem atualizá-los. Se você quer editar ou atualizar a configuração do conector, deve criar outro conector.

Recomendamos migrar o fluxo de trabalho do conector para a versão atualizada. O suporte para conectores configurados usando a arquitetura mais antiga está programado para terminar em junho de 2024.

Você pode conectar-se à fonte de dados do Amazon S3 usando o console do Amazon Kendra ou a API TemplateConfiguration.

nota

Para gerar um relatório de status de sincronização para sua fonte de dados do Amazon S3, consulte Solucionar problemas de origens de dados.

Para solucionar problemas do conector da fonte de dados do Amazon Kendra e do S3, consulte Solucionar problemas de origens de dados.

Recursos compatíveis

  • Mapeamentos de campos

  • Controle de acesso do usuário

  • Filtros de inclusão/exclusão

  • Sincronizações completas e incrementais de conteúdo

  • Nuvem privada virtual (VPC)

Pré-requisitos

Antes que você possa usar o Amazon Kendra para indexar a fonte de dados do S3, faça essas alterações no S3 e nas contas da AWS.

No S3, verifique se você:

  • Copiou o nome do bucket do Amazon S3.

    nota

    O bucket deve estar na mesma região do índice do Amazon Kendra e seu índice deve ter permissão para acessar o bucket que contém os documentos.

  • Verifique se cada documento é exclusivo no S3 e outras fontes de dados que você planeja usar para o mesmo índice. Cada fonte de dados que você deseja usar para um índice não deve conter o mesmo documento em todas as fontes de dados. Os IDs de documentos são globais para um índice e devem ser exclusivos por índice.

Na conta da AWS, verifique se você:

Se você não tiver uma função ou senha existente do IAM, poderá usar o console para criar uma nova função do IAM e um nova senha do ao conectar a fonte de dados do S3 para o Amazon Kendra. Se você estiver usando a API, deverá fornecer o ARN de uma função do IAM existente e um ID de índice.

Instruções de conexão

Para conectar Amazon Kendra à sua fonte de dados do S3, você deve fornecer os detalhes necessários da fonte de dados do S3 para que Amazon Kendra possa acessar seus dados. Se você ainda não configurou o S3 para o Amazon Kendra, consulte Pré-requisitos.

Console

Para conectar o Amazon Kendra ao Amazon S3

  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Kendra.

  2. No painel de navegação esquerdo, escolha Índices e, em seguida, escolha o índice que deseja usar na lista de índices.

    nota

    Você pode escolher definir ou editar as configurações de Controle de acesso do usuário em Configurações do índice.

  3. Na página Introdução, escolha Adicionar fonte de dados.

  4. Na página Adicionar fonte de dados, escolha o Conector do S3 e selecione Adicionar conector. Se estiver usando a versão 2 (se aplicável), escolha o Conector do S3 com a tag “V2.0”.

  5. Na página Especar detalhes da fonte de dados, insira as seguintes informações:

    1. Em Nome e descrição, em Nome da fonte de dados: insira um nome para a fonte de dados. Você pode incluir hífens, mas não espaços.

    2. (Opcional) Descrição: insira uma descrição opcional para a fonte de dados.

    3. Em Idioma padrão: escolha um idioma para filtrar os documentos do índice. A menos que você especifique o contrário, o idioma padrão é o inglês. O idioma especificado nos metadados do documento substitui o idioma selecionado.

    4. Em Tags, em Adicionar nova tag: inclua tags opcionais para pesquisar e filtrar os recursos ou monitorar os custos da AWS.

    5. Escolha Próximo.

  6. Na página Definir seção e segurança, insira as informações opcionais a seguir:

    1. Função do IAM: escolha uma função do IAM existente ou crie uma nova função do IAM para acessar as credenciais do repositório e indexar o conteúdo.

      nota

      Funções do IAM usadas para índices não podem ser usados para fontes de dados. Se você não tiver certeza se uma função existente é usada para um índice ou perguntas frequentes, escolha Criar uma nova função para evitar erros.

    2. Nuvem privada virtual (VPC): você pode escolher usar uma VPC. Nesse caso, você deve adicionar sub-redes e grupos de segurança da VPC.

    3. Escolha Próximo.

  7. Na página Configurar configurações de sincronização, insira as seguintes informações:

    1. Em Localização da fonte de dados: especifique o caminho para o bucket do Amazon S3 em que os dados estão armazenados. Selecione Procurar no S3 para escolher o bucket do S3.

    2. Em Tamanho máximo do arquivo: especifique um limite em MB para fazer crawling somente de arquivos abaixo desse limite. O tamanho máximo do arquivo que o Amazon Kendra permite é 50 MB.

    3. (Opcional) Em Localização da pasta de prefixo de arquivos de metadados: especifique o caminho para a pasta na qual os campos/atributos e metadados de outros documentos estão armazenados. Selecione Procurar no S3 para localizar a pasta de metadados.

    4. (Opcional) Em Localização do arquivo de configuração da lista de controle de acesso: especifique o caminho do arquivo que contém uma estrutura JSON de seus usuários e o acesso aos documentos. Selecione Procurar S3 para localizar o arquivo ACL.

    5. (Opcional) Selecione a chave de decodificação: selecione para usar uma chave de decodificação. Você pode optar por usar uma chave do AWS KMS existente.

    6. (Opcional) Em Configuração adicional: adicione padrões para incluir ou excluir certos arquivos. Todos os caminhos são relativos ao bucket S3 da localização da fonte de dados.

    7. Modo de sincronização: escolha como você deseja atualizar o índice quando o conteúdo da fonte de dados for alterado. Ao sincronizar a fonte de dados com o Amazon Kendra pela primeira vez, é feito crawling de e indexação de todo o conteúdo por padrão. Você deve executar uma sincronização completa dos seus dados se o processo inicial falhar, mesmo que não escolha essa opção de modo de sincronização.

      • Sincronização total: indexa novamente todo o conteúdo, substituindo o já existente sempre que a fonte de dado é sincronizada com o índice.

      • Sincronização nova, modificada e excluída: indexe somente o conteúdo novo, modificado e excluído sempre que a fonte de dados é sincronizada com o índice. O Amazon Kendra pode usar o mecanismo da fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.

    8. Em Programação de execução de sincronização, em Frequência: escolha com que frequência sincronizar o conteúdo da fonte de dados e atualizar o índice.

    9. Escolha Próximo.

  8. Na página Definir mapeamentos de campo, insira as seguintes informações opcionais:

    1. Mapeamentos de campos padrão: selecione entre os campos padrão da fonte de dados gerados pelo Amazon Kendra aqueles que você deseja mapear para o índice.

    2. Adicionar campo: para adicionar campos de fonte de dados personalizados, crie um nome de campo de índice para mapear e o tipo de dados do campo.

    3. Escolha Próximo.

  9. Na página Revisar e criar, verifique se as informações inseridas estão corretas e selecione Adicionar fonte de dados. Você também pode optar por editar as informações a partir desta página. Sua fonte de dados aparecerá na página Fontes de dados depois que a fonte de dados for adicionada com sucesso.

API

Para conectar o Amazon Kendra ao Amazon S3

Especifique um JSON do esquema da fonte de dados usando a API TemplateConfiguration. Você deve fornecer as seguintes informações:

  • Fonte de dados: especifique o tipo de fonte de dados como S3 quando você usa o esquema JSON TemplateConfiguration. Também especifique a fonte de dados como TEMPLATE quando você chama a API CreateDataSource.

  • BucketName: o nome do bucket que contém os documentos.

  • Modo de sincronização: especifique como o Amazon Kendra deve atualizar o índice quando o conteúdo da fonte de dados é alterado. Ao sincronizar a fonte de dados com o Amazon Kendra pela primeira vez, é feito crawling de e indexação de todo o conteúdo por padrão. Você deve executar uma sincronização completa dos seus dados se o processo inicial falhar, mesmo que não escolha essa opção de modo de sincronização. Escolha uma das seguintes opções:

    • FORCED_FULL_CRAWL para indexar novamente todo o conteúdo, substituindo o já existente sempre que a fonte de dado é sincronizada com o índice.

    • FULL_CRAWL para indexar somente o conteúdo novo, modificado e excluído sempre que a fonte de dados é sincronizada com o índice. O Amazon Kendra pode usar o mecanismo da fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.

  • Função do IAM: especifique o RoleArn ao chamar o CreateDataSource para fornecer uma função do IAM com permissões para acessar a senha do Secrets Manager e chamar as APIs públicas necessárias para o conector do S3 e o Amazon Kendra. Para obter mais informações, consulte Funções para o IAM das fontes de dados do S3.

Você também pode adicionar os seguintes recursos opcionais:

  • Nuvem privada virtual (VPC): especifique a VpcConfiguration quando ao chamar CreateDataSource. Para obter mais informações, consulte Configurar a Amazon Kendra para usar o Amazon VPC.

  • Filtros de inclusão e exclusão: especifique se deseja incluir ou excluir certos nomes, tipos e caminhos de arquivos. Você usa padrões glob (padrões que podem expandir um padrão curinga em uma lista de nomes de caminhos que correspondem ao padrão fornecido). Consulte exemplos em Uso de filtros de exclusão e inclusão na Referência de comandos da CLI do AWS.

  • Configuração de metadados do documento e controle de acesso: adicione arquivos de metadados do documento e de controle de acesso que contêm informações como URI da origem, autor do documento ou atributos/campos de documentos personalizados, além dos usuários e dos documentos que eles podem acessar. Cada arquivo de metadados contém metadados sobre um único documento.

  • Mapeamentos de campo: escolha mapear os campos de fonte de dados do S3 para os campos de índice do Amazon Kendra. Para obter mais informações, consulte Mapeamento de campos de fonte de dados.

    nota

    É obrigatório definir o campo de corpo do documento ou equivalente para que o Amazon Kendra possa pesquisar seus documentos. Você deve mapear o nome do campo de corpo do documento na fonte de dados para o nome do campo de índice _document_body. Todos os demais campos são opcionais.

Para ver uma lista de outras chaves JSON importantes a serem configuradas, consulte o Esquema do modelo do S3.

Saiba mais

Para saber mais sobre a integração do Amazon Kendra com a fonte de dados do S3, consulte: