Conexión a bases de datos de Amazon Neptune mediante la autenticación de IAM con Java y SPARQL - Amazon Neptune

Conexión a bases de datos de Amazon Neptune mediante la autenticación de IAM con Java y SPARQL

En esta sección, se muestra cómo conectarse a Neptune mediante RDF4J o Apache Jena con la autenticación Signature Version 4.

Requisitos previos
  • Java 8 o superior.

  • Apache Maven 3.3 o superior.

    Para obtener información sobre la instalación de estos requisitos previos en una instancia EC2 que ejecuta Amazon Linux, consulte Requisitos previos para conectar bases de datos de Amazon Neptune mediante la autenticación de IAM.

  • Credenciales de IAM para firmar las solicitudes. Para obtener más información, consulte Using the Default Credential Provider Chain en la Guía para desarrolladores de AWS SDK para Java.

    nota

    Si utiliza las credenciales temporales, caducan después de un intervalo especificado, incluido el token de sesión.

    Tiene que actualizar el token de sesión cuando solicite nuevas credenciales. Para obtener más información, consulte Uso de credenciales de seguridad temporales para solicitar acceso a los recursos de AWS en la Guía del usuario de IAM.

  • Establezca la variable SERVICE_REGION en una de las siguientes e indique la región de su instancia de base de datos de Neptune:

    • Este de EE. UU. (Norte de Virginia): us-east-1

    • Este de EE. UU. (Ohio): us-east-2

    • Oeste de EE. UU. (Norte de California): us-west-1

    • Oeste de EE. UU. (Oregón): us-west-2

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

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

    • América del Sur (São Paulo): sa-east-1

    • Europa (Estocolmo): eu-north-1

    • Europa (España): | | ):   eu-south-2

    • Europa (Irlanda): eu-west-1

    • Europa (Londres): eu-west-2

    • Europa (París): eu-west-3

    • Europa (Fráncfort): eu-central-1

    • Medio Oriente (Baréin): me-south-1

    • Medio Oriente (EAU): me-central-1

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

    • África (Ciudad del Cabo): af-south-1

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

    • Asia-Pacífico (Tokio): ap-northeast-1

    • Asia-Pacífico (Seúl): ap-northeast-2

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

    • Asia-Pacífico (Singapur): ap-southeast-1

    • Asia-Pacífico (Sídney): ap-southeast-2

    • Asia-Pacífico (Yakarta): ap-southeast-3

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

    • Asia-Pacífico (Malasia):   ap-southeast-5

    • Asia-Pacífico (Bombay): ap-south-1

    • China (Pekín): cn-north-1

    • China (Ningxia): cn-northwest-1

    • AWS GovCloud (EE. UU. Oeste): us-gov-west-1

    • AWS GovCloud (EE. UU. Este): us-gov-east-1

Para conectarse con Neptune mediante RDF4J o Apache Jena con firma de Signature Version 4
  1. Clone el repositorio de muestra desde GitHub.

    git clone https://github.com/aws/amazon-neptune-sparql-java-sigv4.git
  2. Cambie al directorio clonado.

    cd amazon-neptune-sparql-java-sigv4
  3. Obtenga la versión más reciente del proyecto al revisar la ramificación con la etiqueta más reciente.

    git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
  4. Introduzca uno de los siguientes comandos para compilar y ejecutar el código de ejemplo.

    Sustituya your-neptune-endpoint por el nombre de host o la dirección IP de su instancia de base de datos de Neptune. El puerto predeterminado es 8182.

    nota

    Para obtener información acerca de cómo encontrar el nombre de host de la instancia de base de datos de Neptune, consulte la sección Conexión a los puntos de conexión de Amazon Neptune.

    Eclipse RDF4J

    Para ejecutar el ejemplo de RDF4J, introduzca lo siguiente.

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

    Para ejecutar el ejemplo de Apache Jena, introduzca lo siguiente.

    mvn compile exec:java \ -Dexec.mainClass="com.amazonaws.neptune.client.jena.NeptuneJenaSigV4Example" \ -Dexec.args="https://your-neptune-endpoint:port"
  5. Para ver el código fuente del ejemplo, consulte los ejemplos del directorio src/main/java/com/amazonaws/neptune/client/.

Para utilizar el controlador de firma SigV4 en su propia aplicación de Java, añada el paquete de Maven amazon-neptune-sigv4-signer a la sección <dependencies> del archivo pom.xml. Recomendamos que utilice los ejemplos como punto de partida.