

# Conexión a Azure Cosmos DB en AWS Glue Studio
<a name="connecting-to-data-azurecosmos"></a>

 AWS Glue proporciona soporte integrado para Azure Cosmos DB. AWS Glue Studio proporciona una interfaz visual para conectarse a Azure Cosmos DB for NoSQL, 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 a Azure Cosmos DB](creating-azurecosmos-connection.md)
+ [Creación de un nodo de origen de Azure Cosmos DB](creating-azurecosmos-source-node.md)
+ [Creación de un nodo de destino de Azure Cosmos DB](creating-azurecosmos-target-node.md)
+ [Opciones avanzadas](#creating-azurecosmos-connection-advanced-options)

# Creación de una conexión a Azure Cosmos DB
<a name="creating-azurecosmos-connection"></a>

**Requisitos previos**:
+ En Azure, tendrá que identificar o generar una clave de Azure Cosmos DB para que la utilice AWS Glue, `cosmosKey`. Para obtener más información, consulte [Acceso seguro a los datos en Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/secure-access-to-data?tabs=using-primary-key) en la documentación de Azure.

**Para configurar una conexión a Azure Cosmos DB:**

1. En AWS Secrets Manager, cree un secreto con su clave de datos de Azure Cosmos DB. 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 `spark.cosmos.accountKey` con el valor *cosmosKey*.

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 Azure Cosmos DB.
   + Al seleccionar un **secreto AWS**, proporcione un *secretName*.

# Creación de un nodo de origen de Azure Cosmos DB
<a name="creating-azurecosmos-source-node"></a>

## Requisitos previos necesarios
<a name="creating-azurecosmos-source-node-prerequisites"></a>
+ Una conexión a AWS Glue Azure Cosmos DB, configurada con un AWS Secrets Manager secreto, tal y como se describe en la sección anterior, [Creación de una conexión a Azure Cosmos DB](creating-azurecosmos-connection.md).
+ Permisos adecuados en el trabajo para leer el secreto utilizado por la conexión.
+ Un contenedor de Azure Cosmos DB para NoSQL del que desearía leer. Necesitará la información de identificación del contenedor.

  Un contenedor de Azure Cosmos para NoSQL se identifica por su base de datos y su contenedor. Debe proporcionar los nombres de la base de datos, *cosmosDBName*, y del contenedor, *cosmosContainerName*, al conectarse a la API de Azure Cosmos para NoSQL.

## Agregar un origen de datos de Azure Cosmos DB
<a name="creating-azurecosmos-source-node-add"></a>

**Para agregar un nodo de **Origen de datos - Azure Cosmos DB**:**

1.  Elija la conexión para el origen de datos de Azure Cosmos DB. 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 Azure Cosmos DB**. Para obtener más información, consulte la sección [Creación de una conexión a Azure Cosmos DB](creating-azurecosmos-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 el **Nombre de la base de datos de Cosmos DB**: proporcione el nombre de la base de datos desde la que desea leer, *CosmosDBName*.

1. Elija **Azure Cosmos DB Container**: proporcione el nombre del contenedor desde el que desea leer, *CosmosContainerName*.

1. Si lo desea, elija **Azure Cosmos DB Custom Query**: proporcione una consulta SQL SELECT para recuperar información específica de Azure Cosmos DB.

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

# Creación de un nodo de destino de Azure Cosmos DB
<a name="creating-azurecosmos-target-node"></a>

## Requisitos previos necesarios
<a name="creating-azurecosmos-target-node-prerequisites"></a>
+ Una conexión a AWS Glue Azure Cosmos DB, configurada con un AWS Secrets Manager secreto, tal y como se describe en la sección anterior, [Creación de una conexión a Azure Cosmos DB](creating-azurecosmos-connection.md).
+ Permisos adecuados en el trabajo para leer el secreto utilizado por la conexión.
+ Una tabla de Azure Cosmos DB a la que desearía escribir. Necesitará la información de identificación del contenedor. **Debe crear el contenedor antes de llamar al método de conexión.**

  Un contenedor de Azure Cosmos para NoSQL se identifica por su base de datos y su contenedor. Debe proporcionar los nombres de la base de datos, *cosmosDBName*, y del contenedor, *cosmosContainerName*, al conectarse a la API de Azure Cosmos para NoSQL.

## Agregar un destino de datos de Azure Cosmos DB
<a name="creating-azurecosmos-target-node-add"></a>

**Para agregar un nodo de **Destino de datos - Azure Cosmos DB**:**

1.  Elija la conexión para el origen de datos de Azure Cosmos DB. 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 Azure Cosmos DB**. Para obtener más información, consulte la sección [Creación de una conexión a Azure Cosmos DB](creating-azurecosmos-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 el **Nombre de la base de datos de Cosmos DB**: proporcione el nombre de la base de datos desde la que desea leer, *CosmosDBName*.

1. Elija **Azure Cosmos DB Container**: proporcione el nombre del contenedor desde el que desea leer, *CosmosContainerName*.

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

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

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

Consulte [Conexiones de Azure Cosmos DB](aws-glue-programming-etl-connect-azurecosmos-home.md). 