Conectar-se a bancos de dados do Amazon Neptune usando a autenticação do IAM com Java e SPARQL - Amazon Neptune

Conectar-se a bancos de dados do Amazon Neptune usando a autenticação do IAM com Java e SPARQL

Esta seção mostra como se conectar ao Neptune usando RDF4J ou Apache Jena com autenticação do Signature versão 4.

Pré-requisitos
  • Java 8 ou posterior.

  • Apache Maven 3.3 ou posterior.

    Para obter informações sobre como instalar esses pré-requisitos em uma instância do EC2 executando o Amazon Linux, consulte Pré-requisitos para conectar bancos de dados do Amazon Neptune usando a autenticação do IAM.

  • Credenciais do IAM para assinar as solicitações. Para obter mais informações, consulte Using the Default Credential Provider Chain no Guia do desenvolvedor do AWS SDK para Java.

    nota

    Se você estiver usando credenciais temporárias, elas expirarão após um intervalo especificado, incluindo o token de sessão.

    Você deve atualizar o seu token de sessão ao solicitar novas credenciais. Para obter mais informações, consulte Usar credenciais de segurança temporárias para solicitar acesso aos recursos da AWS no Manual do usuário do IAM.

  • Defina a variável SERVICE_REGION como um dos seguintes, indicando a região da instância de banco de dados do Neptune:

    • Leste dos EUA (Norte da Virgínia): us-east-1

    • Leste dos EUA (Ohio): us-east-2

    • Oeste dos EUA (N. da Califórnia): us-west-1

    • Oeste dos EUA (Oregon): us-west-2

    • Canadá (Central): ca-central-1

    • Oeste do Canadá (Calgary): | | ):   ca-west-1

    • América do Sul (São Paulo): sa-east-1

    • Europa (Estocolmo): eu-north-1

    • Europa (Espanha): | | ):   eu-south-2

    • Europa (Irlanda): eu-west-1

    • Europa (Londres): eu-west-2

    • Europa (Paris): eu-west-3

    • Europa (Frankfurt): eu-central-1

    • Oriente Médio (Bahrein): me-south-1

    • Oriente Médio (Emirados Árabes Unidos): me-central-1

    • Israel (Tel Aviv):   il-central-1

    • África (Cidade do Cabo): af-south-1

    • Ásia-Pacífico (Hong Kong): ap-east-1

    • Ásia-Pacífico (Tóquio): ap-northeast-1

    • Ásia-Pacífico (Seul): ap-northeast-2

    • Ásia-Pacífico (Osaka):   ap-northeast-3

    • Ásia-Pacífico (Singapura): ap-southeast-1

    • Ásia-Pacífico (Sydney): ap-southeast-2

    • Ásia-Pacífico (Jacarta): ap-southeast-3

    • Ásia-Pacífico (Melbourne): | | ):   ap-southeast-4

    • Ásia-Pacífico (Malásia):   ap-southeast-5

    • Ásia-Pacífico (Mumbai): ap-south-1

    • China (Pequim): cn-north-1

    • China (Ningxia): cn-northwest-1

    • AWS GovCloud (Oeste dos EUA): us-gov-west-1

    • AWS GovCloud (Leste dos EUA): us-gov-east-1

Como se conectar ao Neptune usando RDF4J ou Apache Jena com a assinatura do Signature 4
  1. Clone o repositório de exemplo no GitHub.

    git clone https://github.com/aws/amazon-neptune-sparql-java-sigv4.git
  2. Altere no diretório clonado.

    cd amazon-neptune-sparql-java-sigv4
  3. Obtenha a versão mais recente do projeto marcando a ramificação com a última tag.

    git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
  4. Digite um dos comandos a seguir para compilar e executar o código de exemplo.

    Substitua your-neptune-endpoint pelo nome de host ou endereço IP da instância de banco de dados do Neptune. A porta padrão é 8182.

    nota

    Para obter informações sobre como localizar o nome do host da instância de banco de dados do Neptune, consulte a seção Conectar-se a endpoints do Amazon Neptune.

    Eclipse RDF4J

    Digite o seguinte para executar o exemplo RDF4J.

    mvn compile exec:java \ -Dexec.mainClass="com.amazonaws.neptune.client.rdf4j.NeptuneRdf4JSigV4Example" \ -Dexec.args="https://your-neptune-endpoint:port"
    Apache Jena

    Digite o seguinte para executar o Apache Jena de exemplo.

    mvn compile exec:java \ -Dexec.mainClass="com.amazonaws.neptune.client.jena.NeptuneJenaSigV4Example" \ -Dexec.args="https://your-neptune-endpoint:port"
  5. Para visualizar o código-fonte do exemplo, consulte os exemplos no diretório src/main/java/com/amazonaws/neptune/client/.

Para usar o driver de assinatura SigV4 no seu próprio aplicativo Java, adicione o pacote Maven amazon-neptune-sigv4-signer à seção <dependencies> do pom.xml. Recomendamos que você use os exemplos como um ponto de partida.