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_REGIONcomo 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-1Leste dos EUA (Ohio):
us-east-2Oeste dos EUA (N. da Califórnia):
us-west-1Oeste dos EUA (Oregon):
us-west-2Canadá (Central):
ca-central-1Oeste do Canadá (Calgary): | | ):
ca-west-1América do Sul (São Paulo):
sa-east-1Europa (Estocolmo):
eu-north-1Europa (Espanha): | | ):
eu-south-2Europa (Irlanda):
eu-west-1Europa (Londres):
eu-west-2Europa (Paris):
eu-west-3Europa (Frankfurt):
eu-central-1Oriente Médio (Bahrein):
me-south-1Oriente Médio (Emirados Árabes Unidos):
me-central-1Israel (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-1China (Pequim):
cn-north-1China (Ningxia):
cn-northwest-1AWS GovCloud (Oeste dos EUA):
us-gov-west-1AWS GovCloud (Leste dos EUA):
us-gov-east-1
Como se conectar ao Neptune usando RDF4J ou Apache Jena com a assinatura do Signature 4
-
Clone o repositório de exemplo no GitHub.
git clone https://github.com/aws/amazon-neptune-sparql-java-sigv4.git -
Altere no diretório clonado.
cd amazon-neptune-sparql-java-sigv4 -
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`) -
Digite um dos comandos a seguir para compilar e executar o código de exemplo.
Substitua
your-neptune-endpointpelo 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" 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.