As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
GitHub
GitHub é um serviço de hospedagem baseado na web para desenvolvimento de software que fornece serviços de armazenamento e gerenciamento de código com controle de versão. Você pode usar Amazon Kendra para indexar seus arquivos de repositório GitHub Enterprise Cloud (SaaS) e GitHub Enterprise Server (On Prem), solicitações de problemas e pull, comentários de problemas e pull requests e anexos de comentários de problemas e pull requests. Você também pode optar por incluir ou excluir determinados arquivos.
Amazon Kendraagora suporta um GitHub conector atualizado.
O console do foi atualizado automaticamente para você. Quaisquer novos conectores criados no console usarão a arquitetura atualizada. Se usa a API, agora você deve passar a usar o objeto TemplateConfiguration em vez do GitHubConfiguration 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, será necessário 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 se conectar Amazon Kendra à sua fonte de GitHub dados usando o Amazon Kendraconsole e a TemplateConfigurationAPI.
Para solucionar problemas do conector da fonte de Amazon Kendra GitHub dados, consulteSolucionar problemas de origens de dados.
Recursos compatíveis
Amazon KendraGitHub o conector de fonte de dados oferece suporte aos seguintes recursos:
-
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 de poder usar Amazon Kendra para indexar sua fonte de GitHub dados, faça essas alterações em suas GitHub AWS contas.
Em GitHub, verifique se você tem:
-
Criou um GitHub usuário com permissões administrativas para a GitHub organização.
-
Configurou um token de acesso pessoal no GitHub para usar como credenciais de autenticação. Consulte a documentação do GitHub sobre como criar um token de acesso pessoal.
É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não recomendamos que você reutilize credenciais e senhas nas fontes de dados e nas versões 1.0 e 2.0 do conector (quando for aplicável).
-
Recomendado: configurou um OAuth token para credenciais de autenticação. Use o OAuth token para melhorar os limites de aceleração da API e o desempenho do conector. Veja GitHub a documentação sobre OAuth autorização.
-
Anote o URL do GitHub host para o tipo de GitHub serviço que você usa. Por exemplo, a URL do host para a GitHub nuvem pode ser https://api.github.com e a URL do host para o GitHub servidor pode serhttps://on-prem-host-url/api/v3/.
-
Anote o nome da sua organização para GitHub a conta do GitHub Enterprise Cloud (SaaS) ou da conta do GitHub Enterprise Server (local) à qual você deseja se conectar. Você pode encontrar o nome da sua organização fazendo login no GitHub desktop e selecionando Suas organizações na lista suspensa da foto do perfil.
-
Opcional (somente servidor): gerou um certificado SSL e copiou o caminho para o certificado armazenado em um Amazon S3 bucket. Você usa isso para GitHub se conectar se precisar de uma conexão SSL segura. Você pode simplesmente gerar um certificado autoassinado X509 em qualquer computador usando o OpenSSL. Para ver um exemplo de uso do OpenSSL para criar um certificado X509, consulte Criar e assinar um certificado X509.
-
Adicionou as seguintes permissões:
Para nuvem GitHub corporativa (SaaS)
-
repo:status— Concede read/write acesso aos status de confirmação em repositórios públicos e privados. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso aos status de confirmação do repositório privado sem conceder acesso ao código.
-
repo_deployment: concede acesso aos status de implantação de repositórios públicos e privados. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso aos status de implantação sem conceder acesso ao código.
-
public_repo: limita o acesso aos repositórios públicos. Isso inclui read/write acesso ao código, status de confirmação, projetos de repositório, colaboradores e status de implantação para repositórios e organizações públicas. Também é necessário para marcar repositórios públicos como favoritos.
-
repo:invite— Concede accept/decline habilidades para convites para colaborar em um repositório. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso a convites sem conceder acesso ao código.
-
security_events: concede acesso de leitura e gravação a eventos de segurança na API de verificação de código. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso a eventos de segurança sem conceder acesso ao código.
-
read:org: acesso somente leitura para associação da organização, projetos da organização e associação da equipe.
-
user:email: concede acesso de leitura aos endereços de e-mail de um usuário. Exigido pela Amazon Kendra para rastrear. ACLs
-
user:follow: concede acesso para seguir ou deixar de seguir outros usuários. Exigido pela Amazon Kendra para rastrear. ACLs
-
read:user: concede acesso para ler os dados do perfil de um usuário. Exigido pela Amazon Kendra para rastrear. ACLs
-
workflow: concede a capacidade de adicionar e atualizar arquivos de fluxo de trabalho do GitHub Actions. Arquivos de fluxo de trabalho podem ser confirmados sem esse escopo se o mesmo arquivo (com o mesmo caminho e conteúdo) existir em outra ramificação no mesmo repositório.
Para obter mais informações, consulte Escopos para OAuth aplicativos no GitHub Docs.
Para servidor GitHub corporativo (no local)
-
repo:status— Concede read/write acesso aos status de confirmação em repositórios públicos e privados. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso aos status de confirmação do repositório privado sem conceder acesso ao código.
-
repo_deployment: concede acesso aos status de implantação de repositórios públicos e privados. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso aos status de implantação sem conceder acesso ao código.
-
public_repo: limita o acesso aos repositórios públicos. Isso inclui read/write acesso ao código, status de confirmação, projetos de repositório, colaboradores e status de implantação para repositórios e organizações públicas. Também é necessário para marcar repositórios públicos como favoritos.
-
repo:invite— Concede accept/decline habilidades para convites para colaborar em um repositório. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso a convites sem conceder acesso ao código.
-
security_events: concede acesso de leitura e gravação a eventos de segurança na API de verificação de código. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso a eventos de segurança sem conceder acesso ao código.
-
read:user: concede acesso para ler os dados do perfil de um usuário. Exigido pelo Amazon Q Business para rastrear ACLs.
-
user:email: concede acesso de leitura aos endereços de e-mail de um usuário. Exigido pelo Amazon Q Business para rastrear ACLs.
-
user:follow: concede acesso para seguir ou deixar de seguir outros usuários. Exigido pelo Amazon Q Business para rastrear ACLs.
-
site_admin— Concede aos administradores do site acesso aos endpoints da API GitHub Enterprise Server Administration.
-
workflow: concede a capacidade de adicionar e atualizar arquivos de fluxo de trabalho do GitHub Actions. Arquivos de fluxo de trabalho podem ser confirmados sem esse escopo se o mesmo arquivo (com o mesmo caminho e conteúdo) existir em outra ramificação no mesmo repositório.
Para obter mais informações, consulte Escopos para OAuth aplicativos no GitHub Documentos e Entendendo os escopos para OAuth aplicativos no Developer. GitHub
-
Verifique se cada documento é exclusivo em GitHub e entre 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. IDs Os documentos são globais para um índice e devem ser exclusivos por índice.
No seuConta da AWS, verifique se você tem:
-
Criou um Amazon Kendra índice e, se estiver usando a API, anotei o ID do índice.
-
Criou uma IAM função para sua fonte de dados e, se estiver usando a API, anotei o ARN da IAM função.
Se você alterar o tipo de autenticação e as credenciais, deverá atualizar sua IAM função para acessar a ID AWS Secrets Manager secreta correta.
-
Armazenou suas credenciais de GitHub autenticação em um AWS Secrets Manager segredo e, se estiver usando a API, anotou o ARN do segredo.
É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não recomendamos que você reutilize credenciais e senhas nas fontes de dados e nas versões 1.0 e 2.0 do conector (quando for aplicável).
Se você não tiver uma IAM função ou segredo existente, poderá usar o console para criar uma nova IAM função e um novo Secrets Manager segredo ao conectar sua fonte de GitHub dados Amazon Kendra a. Se você estiver usando a API, deverá fornecer o ARN de uma IAM função e Secrets Manager segredo existentes e um ID de índice.
Instruções de conexão
Para se conectar Amazon Kendra à sua fonte de GitHub dados, você deve fornecer os detalhes necessários da sua fonte de GitHub dados para que Amazon Kendra possa acessar seus dados. Se você ainda não configurou GitHub paraAmazon Kendra, consultePré-requisitos.
- Console
-
Para se conectar Amazon Kendra a GitHub
-
Faça login no Console de gerenciamento da AWS e abra o Amazon Kendraconsole.
-
No painel de navegação esquerdo, escolha Índices e, em seguida, escolha o índice que deseja usar na lista de índices.
Você pode escolher definir ou editar as configurações de Controle de acesso do usuário em Configurações do índice.
-
Na página Introdução, escolha Adicionar fonte de dados.
-
Na página Adicionar fonte de dados, escolha o Conector do GitHub e selecione Adicionar conector. Se estiver usando a versão 2 (se aplicável), escolha o Conector do GitHub com a tag “V2.0”.
-
Na página Especar detalhes da fonte de dados, insira as seguintes informações:
-
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.
-
(Opcional) Descrição: insira uma descrição opcional para a fonte de dados.
-
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.
-
Em Tags, em Adicionar nova tag — Inclua tags opcionais para pesquisar e filtrar seus recursos ou monitorar seus AWS custos.
-
Escolha Próximo.
-
Na página Definir seção e segurança, insira as informações a seguir:
-
GitHubfonte — Escolha entre GitHub Enterprise Cloud e GitHubEnterprise Server.
-
GitHub URL do host — Por exemplo, o URL do host para a GitHub nuvem pode ser https://api.github.com e o URL do host GitHub do servidor pode serhttps://on-prem-host-url/api/v3/.
-
GitHub nome da organização — Insira o nome GitHub da sua organização. Você pode encontrar as informações da sua organização em sua GitHub conta.
GitHub O conector suporta o rastreamento de uma única organização por instância do conector da fonte de dados.
-
Autorização: ative ou desative as informações da lista de controle de acesso (ACL) para seus documentos, caso tenha uma ACL e queira usá-la para controle de acesso. A ACL especifica quais documentos usuários e grupos podem acessar. As informações da ACL são usadas para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Para obter mais informações, consulte Filtrar o contexto do usuário.
-
AWS Secrets Managersegredo — Escolha um segredo existente ou crie um novo Secrets Manager segredo para armazenar suas credenciais de GitHub autenticação. Se optar por criar uma nova senha, uma janela secreta do AWS Secrets Manager será aberta.
-
Insira as seguintes informações em Criar uma janela de senha do AWS Secrets Manager:
-
Senha: um nome para sua senha. O prefixo 'AmazonKendra- GitHub -' é adicionado automaticamente ao seu nome secreto.
-
Para GitHubtoken — Insira o valor da credencial de autenticação configurado em. GitHub
-
Salve e adicione o segredo.
-
Nuvem privada virtual (VPC): você pode escolher usar uma VPC. Nesse caso, você deve adicionar sub-redes e grupos de segurança da VPC.
-
Crawler de identidade: especifique se deseja ativar o crawler de identidade do Amazon Kendra. O crawler de identidade usa as informações da lista de controle de acesso (ACL) de seus documentos para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Se você tiver uma ACL para seus documentos e optar por usá-la, também poderá optar por ativar o rastreador de identidade para configurar a filtragem de contexto Amazon Kendra do usuário dos resultados da pesquisa. Caso contrário, se o crawler de identidade estiver desativado, todos os documentos poderão ser pesquisados publicamente. Se você quiser usar o controle de acesso para seus documentos e o rastreador de identidade estiver desativado, você também pode usar a PutPrincipalMappingAPI para carregar informações de acesso de usuários e grupos para filtragem de contexto do usuário.
-
IAMfunção — Escolha uma IAM função existente ou crie uma nova IAM função para acessar as credenciais do repositório e indexar o conteúdo.
IAMas funções usadas para índices não podem ser usadas 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.
-
Escolha Próximo.
-
Na página Configurar configurações de sincronização, insira as seguintes informações:
-
Selecionar repositórios: escolha fazer crawling de todos os repositórios ou dos selecionados.
Se você optar por fazer crawling de repositórios selecionados, adicione os nomes dos repositórios e, opcionalmente, o nome de qualquer ramificação específica.
-
Tipos de conteúdo: escolha os tipos de conteúdo do qual você deseja fazer crawling de arquivos, problemas, solicitações pull e muito mais.
-
Padrões Regex: adicionar padrões de expressão regular para incluir ou excluir determinados arquivos.
-
Modo de sincronização: escolha como você deseja atualizar o índice quando o conteúdo da fonte de dados for alterado. Quando você sincroniza sua fonte de dados Amazon Kendra pela primeira vez, todo o conteúdo é rastreado e indexado 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 e modificada: indexe somente conteúdo novo e modificado sempre que sua fonte de dados for sincronizada com seu índice. Amazon Kendrapode usar o mecanismo da sua fonte de dados para rastrear alterações no conteúdo e indexar o conteúdo que foi alterado desde a última sincronização.
-
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.
-
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.
-
Escolha Próximo.
-
Na página Definir mapeamentos de campo, insira as seguintes informações:
-
Campos de fonte de dados padrão — Selecione entre os campos de fonte de dados padrão Amazon Kendra gerados que você deseja mapear para o seu índice.
-
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.
-
Escolha Próximo.
-
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 se conectar Amazon Kendra a GitHub
Você deve especificar 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 GITHUB ao usar o esquema JSON TemplateConfiguration. Também especifique a fonte de dados como TEMPLATE quando você chama a API CreateDataSource.
-
GitHubtipo — Especifique o tipo como SAAS ouON_PREMISE.
-
URL do host — especifique o URL do GitHub host ou o URL do endpoint da API. Por exemplo, se você usa GitHub SaaS/Enterprise Cloud, o URL do host pode ser ehttps://api.github.com, para o servidor GitHub local/corporativo, o URL do host pode ser. https://on-prem-host-url/api/v3/
-
Nome da organização — Especifique o nome da organização da GitHub conta. Você pode encontrar o nome da sua organização fazendo login no GitHub desktop e selecionando Suas organizações na lista suspensa da foto do perfil.
-
Modo de sincronização — especifique como Amazon Kendra você deve atualizar seu í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. 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.
-
CHANGE_LOG para indexar somente o conteúdo novo e modificado 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.
-
Crawler de identidade: especifique se deseja ativar o crawler de identidade do Amazon Kendra. O crawler de identidade usa as informações da lista de controle de acesso (ACL) de seus documentos para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Se você tiver uma ACL para seus documentos e optar por usá-la, também poderá optar por ativar o rastreador de identidade para configurar a filtragem de contexto Amazon Kendra do usuário dos resultados da pesquisa. Caso contrário, se o crawler de identidade estiver desativado, todos os documentos poderão ser pesquisados publicamente. Se você quiser usar o controle de acesso para seus documentos e o rastreador de identidade estiver desativado, você também pode usar a PutPrincipalMappingAPI para carregar informações de acesso de usuários e grupos para filtragem de contexto do usuário.
-
Nome de recurso secreto da Amazon (ARN) — Forneça o nome de recurso da Amazon (ARN) de um Secrets Manager segredo que contenha as credenciais de autenticação da sua conta. GitHub A senha deve conter uma estrutura JSON com as seguintes chaves:
{
"personalToken": "token"
}
-
IAMrole — Especifique RoleArn quando você liga CreateDataSource para fornecer uma IAM função com permissões para acessar seu Secrets Manager segredo e chamar o público necessário APIs para o GitHub conector e. Amazon Kendra Para obter mais informações, consulte Funções para o IAM das fontes de dados do GitHub .
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 Configurando Amazon Kendra para usar um Amazon VPC.
Se você usa GitHub servidor, você deve usar um Amazon VPC para se conectar ao seu GitHub servidor.
-
Filtro de repositório: filtra repositórios por seus nomes e nomes de ramificações.
-
Tipos de documento/conteúdo: especifique se deseja fazer crawling de documentos do repositório, problemas, comentários de problemas, anexos de comentários de problemas, solicitações pull, comentários de solicitações pull e anexos de comentários de solicitações pull.
-
Filtros de inclusão e exclusão: especifique se deseja incluir ou excluir certos arquivos e pastas.
A maioria das fontes de dados usa padrões de expressão regular, que são padrões de inclusão ou exclusão chamados de filtros. Se você especificar um filtro de inclusão, somente o conteúdo que corresponda ao filtro de inclusão será indexado. Qualquer documento que não corresponda ao filtro de inclusão não é indexado. Se especificar um filtro de inclusão e exclusão, os documentos que corresponderem ao filtro de exclusão não serão indexados, mesmo que correspondam ao filtro de inclusão.
-
Lista de controle de acesso (ACL): especifique se deve ser feito crawling das informações da ACL para seus documentos, caso tenha uma ACL e queira usá-la para controle de acesso. A ACL especifica quais documentos usuários e grupos podem acessar. As informações da ACL são usadas para filtrar os resultados da pesquisa com base no acesso do usuário ou do grupo aos documentos. Para obter mais informações, consulte Filtrar o contexto do usuário.
-
Mapeamentos de campo — Escolha mapear os campos da fonte de GitHub dados para os Amazon Kendra campos de índice. É possível incluir campos de documentos, confirmações, problemas, anexos de problemas, comentários de problemas, solicitações pull, anexos de solicitações pull e comentários de solicitações pull. Para obter mais informações, consulte Mapeamento de campos de fonte de dados.
É 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 GitHub.
Saiba mais
Para saber mais sobre a integração Amazon Kendra com sua fonte GitHub de dados, consulte: