

# Conexión a MongoDB en AWS Glue Studio
<a name="connecting-to-data-mongodb"></a>

 AWS Glue proporciona soporte integrado para MongoDB. AWS Glue Studio proporciona una interfaz visual para conectarse a MongoDB, crear trabajos de integración de datos y ejecutarlos en el tiempo de ejecución de Spark sin servidor de AWS Glue Studio. 

**Topics**
+ [Creación de una conexión de MongoDB](creating-mongodb-connection.md)
+ [Creación de un nodo de origen de MongoDB](creating-mongodb-source-node.md)
+ [Creación de un nodo de destino de MongoDB](creating-mongodb-target-node.md)
+ [Opciones avanzadas](#creating-mongodb-connection-advanced-options)

# Creación de una conexión de MongoDB
<a name="creating-mongodb-connection"></a>

**Requisitos previos**:
+ Si su instancia de MongoDB está en una Amazon VPC, configure Amazon VPC para permitir que su trabajo de AWS Glue se comunique con la instancia de MongoDB sin que el tráfico atraviese la Internet pública. 

  En Amazon VPC, identifique o cree una **VPC**, una **subred** y un **grupo de seguridad** que AWS Glue utilizará al ejecutar el trabajo. Además, debe asegurarse de que Amazon VPC esté configurada para permitir el tráfico de red entre su instancia de MongoDB y esta ubicación. Según el diseño de la red, esto puede requerir cambios en las reglas de los grupos de seguridad, las ACL de red, las puertas de enlace de NAT y las conexiones entre pares.

**Para configurar una conexión a MongoDB:**

1. Si lo desea, en AWS Secrets Manager, cree un secreto con sus credenciales de MongoDB. Para crear un secreto en Secrets Manager, siga el tutorial disponible en [Crear un secreto AWS Secrets Manager](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) en la documentación AWS Secrets Manager. Después de crear el secreto, conserve el nombre secreto, *secretName*, para el siguiente paso. 
   + Al seleccionar **pares clave/valor**, genere un par para la clave `username` con el valor *mongodbUser*.

     Al seleccionar **pares clave/valor**, genere un par para la clave `password` con el valor *mongodbPass*.

1. En la consola de AWS Glue, genere una conexión mediante los pasos que se indican en [Adición de una conexión de AWS Glue](console-connections.md). Tras crear la conexión, conserve el nombre de la conexión, *connectionName*, para el uso futuro en AWS Glue. 
   + Al seleccionar un **tipo de conexión**, seleccione **MongoDB** o **MongoDB Atlas**.
   + Al seleccionar la **URL de MongoDB** o la **URL de MongoDB Atlas**, proporciona el nombre de host de la instancia de MongoDB.

     Se proporciona una URL de MongoDB en este formato `mongodb://mongoHost:mongoPort/mongoDBname`.

     Se proporciona una URL de MongoDB Atlas en este formato `mongodb+srv://mongoHost/mongoDBname`.
   + Si eligió crear un secreto de Secrets Manager, elija el **tipo de credencial AWS Secrets Manager**.

     Luego, en **AWS Secret**, ingrese *secretName*.
   + Si decide proporcionar el nombre de **usuario y la contraseña**, proporcione *mongoDBuser* y *mongodbPass*.

1. En las siguientes situaciones, es posible que necesite una configuración adicional:
   + 

     Para instancias de MongoDB alojadas AWS en una VPC de Amazon
     + Deberá proporcionar la información de conexión de Amazon VPC a la conexión AWS Glue que define sus credenciales de seguridad de MongoDB. Al crear o actualizar la conexión, configure los **VPC**, **Subred** y los **grupos de seguridad** en **Opciones de red**.

Tras crear una conexión con AWS Glue MongoDB, deberá realizar los siguientes pasos antes de ejecutar su trabajo de AWS Glue:
+ Cuando trabaje con trabajos AWS Glue en el editor visual, debe proporcionar la información de conexión de Amazon VPC para que su trabajo se conecte a MongoDB. Identifique una ubicación adecuada en Amazon VPC y envíela a su conexión de AWS Glue MongoDB.
+ Si opta por crear un secreto de Secrets Manager, conceda permiso al rol de IAM asociado a su trabajo de AWS Glue para leer *secretName*.

# Creación de un nodo de origen de MongoDB
<a name="creating-mongodb-source-node"></a>

## Requisitos previos necesarios
<a name="creating-mongodb-source-node-prerequisites"></a>
+ Una conexión AWS Glue MongoDB, como se describe en la sección anterior,. [Creación de una conexión de MongoDB](creating-mongodb-connection.md)
+ Si eligió crear un secreto de Secrets Manager, asigne los permisos necesarios para leer el secreto utilizado por la conexión.
+ Una colección de MongoDB de la que quiera leer. Necesitará información de identificación para la colección.

  Una colección MongoDB se identifica mediante un nombre de base de datos y un nombre de colección, *mongodbName*, *mongodbCollection*.

## Agregar un origen de datos de MongoDB
<a name="creating-mongodb-source-node-add"></a>

**Para agregar un nodo de **Origen de datos - MongoDB**:**

1.  Elija la conexión para el origen de datos de MongoDB. Dado que lo ha creado, debería estar disponible en el menú desplegable. Si es necesario crear una conexión, elija **Crear conexión de MongoDB**. Para obtener más información, consulte la sección [Creación de una conexión de MongoDB](creating-mongodb-connection.md) anterior. 

    Una vez que haya elegido una conexión, puede ver las propiedades de la conexión mediante un clic en **Ver propiedades**. 

1. Elija una **Base de datos**. Introduzca *mongodbName.*

1. Elija una **Colección**. Ingrese a *mongodbCollection.*

1. Elija el **Particionador**, el **tamaño de la partición (MB)** y la **Clave de partición**. Para obtener más información sobre los parámetros de particiones, consulte ["connectionType": "mongodb" como origen](aws-glue-programming-etl-connect-mongodb-home.md#etl-connect-mongodb-as-source).

1.  En **Propiedades personalizadas de MongoDB**, ingrese los parámetros y valores según sea necesario. 

# Creación de un nodo de destino de MongoDB
<a name="creating-mongodb-target-node"></a>

## Requisitos previos necesarios
<a name="creating-mongodb-target-node-prerequisites"></a>
+ Una conexión AWS Glue MongoDB, configurada con un AWS Secrets Manager secreto, como se describe en la sección anterior, [Creación de una conexión de MongoDB](creating-mongodb-connection.md).
+ Permisos adecuados en el trabajo para leer el secreto utilizado por la conexión.
+ Una tabla de MongoDB a la que desearía escribir, *tableName*.

## Agregar un destino de datos de MongoDB
<a name="creating-mongodb-target-node-add"></a>

**Para añadir un nodo de **Destino de datos - MongoDB**:**

1.  Elija la conexión para el origen de datos de MongoDB. Dado que lo ha creado, debería estar disponible en el menú desplegable. Si es necesario crear una conexión, elija **Crear conexión de MongoDB**. Para obtener más información, consulte la sección [Creación de una conexión de MongoDB](creating-mongodb-connection.md) anterior. 

    Una vez que haya elegido una conexión, puede ver las propiedades de la conexión mediante un clic en **Ver propiedades**. 

1. Elija una **Base de datos**. Introduzca *mongodbName.*

1. Elija una **Colección**. Ingrese a *mongodbCollection.*

1. Elija el **Particionador**, el **tamaño de la partición (MB)** y la **Clave de partición**. Para obtener más información sobre los parámetros de particiones, consulte ["connectionType": "mongodb" como origen](aws-glue-programming-etl-connect-mongodb-home.md#etl-connect-mongodb-as-source).

1. Seleccione **Reintentar escrituras** si lo desea.

1.  En **Propiedades personalizadas de MongoDB**, ingrese los parámetros y valores según sea necesario. 

## Opciones avanzadas
<a name="creating-mongodb-connection-advanced-options"></a>

Puede brindar opciones avanzadas al crear un nodo de MongoDB. Estas opciones son las mismas que las disponibles cuando se programa AWS Glue para scripts de Spark.

Consulte [Referencia de opciones de conexión de MongoDB](aws-glue-programming-etl-connect-mongodb-home.md#aws-glue-programming-etl-connect-mongodb). 