

# Crear una conexión con BigQuery
<a name="creating-bigquery-connection"></a>

Para conectarse a Google BigQuery desde AWS Glue, tendrá que generar y almacenar las credenciales de Google Cloud Platform en un secreto de AWS Secrets Manager y, a continuación, asociar ese secreto a una conexión de Google BigQuery AWS Glue.

**Para configurar una conexión a BigQuery, siga estos pasos:**

1. En Google Cloud Platform, genere e identifique los recursos pertinentes:
   + Genere e identifique un proyecto de GCP que contenga tablas de BigQuery a las que desea conectarse.
   + Habilite la API de BigQuery. Para obtener más información, consulte [Cómo usar la API de lectura de almacenamiento de BigQuery para leer datos de tablas](https://cloud.google.com/bigquery/docs/reference/storage/#enabling_the_api).

1. En Google Cloud Platform, genere y exporte las credenciales de la cuenta de servicio:

   Puede usar el asistente de credenciales de BigQuery para simplificar este paso: [Crear credenciales](https://console.cloud.google.com/apis/credentials/wizard?api=bigquery.googleapis.com).

   Para crear una cuenta de servicio en GCP, siga el tutorial disponible en [Crear cuentas de servicio](https://cloud.google.com/iam/docs/service-accounts-create).
   + Al elegir un **proyecto**, seleccione el proyecto que contiene su tabla de BigQuery.
   + Cuando elija los roles de IAM de GCP para la cuenta de servicio, agregue o genere una función que conceda los permisos apropiados para ejecutar los trabajos en BigQuery, como la lectura, escritura o creación de tablas de BigQuery.

   Para crear credenciales para la cuenta de servicio, siga el tutorial disponible en [Crear una clave de cuenta de servicio](https://cloud.google.com/iam/docs/keys-create-delete#creating).
   + Al seleccionar el tipo de clave, seleccione **JSON**.

   Ahora debería haber descargado un archivo JSON que contiene las credenciales de la cuenta de servicio. Debería parecerse a lo que sigue:

   ```
   {
     "type": "service_account",
     "project_id": "*****",
     "private_key_id": "*****",
     "private_key": "*****",
     "client_email": "*****",
     "client_id": "*****",
     "auth_uri": "https://accounts.google.com/o/oauth2/auth",
     "token_uri": "https://oauth2.googleapis.com/token",
     "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
     "client_x509_cert_url": "*****",
     "universe_domain": "googleapis.com"
   }
   ```

1. En AWS Secrets Manager, cree un secreto con el archivo de credenciales que descargó. Puede elegir la pestaña **Texto no cifrado** y pegar el contenido del archivo con formato JSON. 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. 

1. En el Catálogo de datos de AWS Glue, genere una conexión mediante los pasos que se indican en [https://docs.aws.amazon.com/glue/latest/dg/console-connections.html](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html). Tras crear la conexión, conserve el nombre de la conexión, *connectionName*, para el siguiente paso. 
   + Cuando elija un **Tipo de conexión**, seleccione Google BigQuery.
   + Al seleccionar un **secreto AWS**, proporcione un *secretName*.

1. Otorga permiso al rol de IAM asociado al trabajo de AWS Glue para leer el *secretName*.

1. En la configuración del trabajo de AWS Glue, proporcione un *connectionName* como una **Conexión de red adicional**.