

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conexión a bases de datos de Amazon Neptune mediante la autenticación de IAM con Java y SPARQL
<a name="iam-auth-connecting-sparql-java"></a>

En esta sección se muestra cómo conectarse a Neptune mediante RDF4 J 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](iam-auth-connect-prerq.md).
+ Credenciales de IAM para firmar las solicitudes. Para obtener más información, consulte [Using the Default Credential Provider Chain](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default) 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 AWS los recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) 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`
  + Canadá oeste (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`
  + Asia Pacífico (Hyderabad): `ap-south-2`
  + China (Pekín): `cn-north-1`
  + China (Ningxia): `cn-northwest-1`
  + AWS GovCloud (EE. UU.-Oeste): `us-gov-west-1`
  + AWS GovCloud (EEUU-Este): `us-gov-east-1`

**Para conectarse a Neptune mediante RDF4 J o Apache Jena con firma Signature Version 4**

1. Clona el repositorio de muestras desde. GitHub

   ```
   git clone https://github.com/aws/amazon-neptune-sparql-java-sigv4.git
   ```

1. Cambie al directorio clonado.

   ```
   cd amazon-neptune-sparql-java-sigv4
   ```

1. 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`)
   ```

1. Introduzca uno de los siguientes comandos para compilar y ejecutar el código de ejemplo.

   *your-neptune-endpoint*Sustitúyalo por el nombre de host o la dirección IP de la 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](feature-overview-endpoints.md).

**Eclipse J. RDF4**  
Introduzca lo siguiente para ejecutar el ejemplo de RDF4 J.

   ```
   mvn compile exec:java \
       -Dexec.mainClass="com.amazonaws.neptune.client.rdf4j.NeptuneRdf4JSigV4Example" \
       -Dexec.args="https://your-neptune-endpoint:portsparql region-name"
   ```

**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"
   ```

1. 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.