Gestionar conexiones
En este documento se describe cómo ver, enumerar, compartir, editar, eliminar y solucionar problemas de una conexión de BigQuery.
Como administrador de BigQuery, puedes crear y gestionar conexiones que se usan para conectarse a servicios y fuentes de datos externas. Los analistas de BigQuery usan estas conexiones para enviar consultas a fuentes de datos externas sin tener que mover ni copiar datos en BigQuery. Puede crear los siguientes tipos de conexiones:
- Conexiones de Amazon S3
- Conexiones de Apache Spark
- Conexiones de almacenamiento de blobs
- Conexiones de recursos de Cloud para conectarse a datos de Cloud Storage e implementar funciones remotas
- Conexiones de Spanner
- Conexiones de Cloud SQL
- Conexiones de AlloyDB
Para crear una conexión predeterminada para un proyecto, consulta la descripción general de las conexiones predeterminadas.
Antes de empezar
Asegúrate de que tienes una conexión activa. Las conexiones son específicas de cada tipo y dependen de la fuente de datos externa conectada.
Habilita la API de conexión de BigQuery.
Asegúrate de que puedes ver una lista de cuentas de servicio en tu proyecto. BigQuery crea y usa una cuenta de servicio para conectarse a tu fuente de datos externa. Cuando creas una conexión, se crea en tu nombre una cuenta de servicio de gestión de identidades y accesos (IAM) gestionada porGoogle Cloud. Para ver la cuenta de servicio asociada a una conexión concreta, consulta los detalles de la conexión.
Roles obligatorios
Para obtener los permisos que necesitas para gestionar las conexiones, pide a tu administrador que te conceda los siguientes roles de IAM:
-
Ver los detalles de la conexión:
Usuario de conexión de BigQuery (
roles/bigquery.connectionUser
) en tu conjunto de datos -
Lista de todas las conexiones:
Usuario de conexión de BigQuery (
roles/bigquery.connectionUser
) en tu conjunto de datos -
Compartir una conexión:
Administrador de conexión de BigQuery (
roles/bigquery.connectionAdmin
) en tu conexión -
Editar una conexión:
Administrador de conexión de BigQuery (
roles/bigquery.connectionAdmin
) en tu conexión -
Eliminar una conexión:
Administrador de conexión de BigQuery (
roles/bigquery.connectionAdmin
) en tu conexión
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para obtener información sobre los roles necesarios para crear y usar una conexión predeterminada, consulta Roles y permisos necesarios.
Estos roles predefinidos contienen los permisos necesarios para realizar las tareas descritas en este documento. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
- Ver los detalles de la conexión:
bigquery.connections.get
- Mostrar todas las conexiones:
bigquery.connections.list
- Editar y eliminar una conexión:
bigquery.connections.update
- Compartir una conexión:
bigquery.connections.setIamPolicy
Mostrar todas las conexiones
Selecciona una de las opciones siguientes:
Consola
Ve a la página BigQuery.
Las conexiones se muestran en tu proyecto, en un grupo llamado Conexiones externas.
En el panel Explorador, haga clic en el nombre del proyecto > Conexiones externas para ver una lista de todas las conexiones.
bq
Introduce el comando bq ls
y especifica la marca --connection
. De forma opcional, especifica las marcas --project_id
y --location
para identificar el proyecto y la ubicación de las conexiones que se van a enumerar.
bq ls --connection --project_id=PROJECT_ID --location=REGION
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto Google CloudREGION
: la región de conexión
API
Usa el método projects.locations.connections.list
de la sección de referencia de la API REST.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ver detalles de conexión
Una vez que hayas creado una conexión, podrás obtener información sobre su configuración. La configuración incluye los valores que proporcionaste al crear la transferencia.
Selecciona una de las opciones siguientes:
Consola
Ve a la página BigQuery.
Las conexiones se muestran en tu proyecto, en un grupo llamado Conexiones externas.
En el panel Explorador, haga clic en el nombre del proyecto > Conexiones externas > conexión.
bq
Introduce el comando bq show
y especifica la marca --connection
. Opcionalmente, puede calificar el ID de conexión con el ID de proyecto y la región de la conexión.
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto Google CloudREGION
: la región de conexiónCONNECTION_I
: el ID de conexión
API
Utilice el método projects.locations.connections.get
de la sección de referencia de la API REST.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Compartir una conexión con usuarios
Puede conceder los siguientes roles para permitir que los usuarios consulten datos y gestionen conexiones:
roles/bigquery.connectionUser
: permite a los usuarios usar conexiones para conectarse con fuentes de datos externas y ejecutar consultas en ellas.roles/bigquery.connectionAdmin
: permite a los usuarios gestionar las conexiones.
Para obtener más información sobre los roles y permisos de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.
Selecciona una de las opciones siguientes:
Consola
Ve a la página BigQuery.
Las conexiones se muestran en tu proyecto, en un grupo llamado Conexiones externas.
En el panel Explorador, haga clic en el nombre del proyecto > Conexiones externas > conexión.
En el panel Detalles, haz clic en Compartir para compartir una conexión. A continuación, sigue estas instrucciones:
En el cuadro de diálogo Permisos de conexión, comparte la conexión con otras entidades principales añadiendo o editando entidades principales.
Haz clic en Guardar.
bq
No puedes compartir una conexión con la herramienta de línea de comandos bq. Para compartir una conexión, usa la Google Cloud consola o el método de la API Connections de BigQuery.
API
Usa el método projects.locations.connections.setIAM
de la sección de referencia de la API REST Connections de BigQuery y proporciona una instancia del recurso policy
.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Editar una conexión
Una conexión usa las credenciales del usuario que la creó. Si necesitas cambiar el usuario asociado a una conexión, puedes actualizar sus credenciales. Esta opción es útil si el usuario que creó la conexión ya no trabaja en tu organización.
No puedes editar los siguientes elementos de una conexión:
- Tipo de conexión
- ID de conexión
- Ubicación
Selecciona una de las opciones siguientes:
Consola
Ve a la página BigQuery.
Las conexiones se muestran en tu proyecto, en un grupo llamado Conexiones externas.
En el panel Explorador, haga clic en el nombre del proyecto > Conexiones externas > conexión.
En el panel Detalles, haga clic en
Editar detalles para modificar la información. A continuación, sigue estas instrucciones:En el cuadro de diálogo Editar conexión, edita los detalles de la conexión, incluidas las credenciales del usuario.
Haz clic en Actualizar conexión.
bq
Introduce el comando bq update
y proporciona la marca de conexión:
--connection
. Es obligatorio indicar el connection_id
completo.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "INSTANCE", "database" : "DATABASE", "type" : "MYSQL" }' --connection_credential='{"username":"USERNAME", "password":"PASSWORD"}' PROJECT.REGION.CONNECTION_ID
Haz los cambios siguientes:
INSTANCE
: la instancia de Cloud SQLDATABASE
: el nombre de la base de datosUSERNAME
: el nombre de usuario de tu base de datos de Cloud SQLPASSWORD
: la contraseña de tu base de datos de Cloud SQLPROJECT
: el ID del proyecto Google CloudREGION
: la región de conexiónCONNECTION_ID
: el ID de conexión
Por ejemplo, el siguiente comando actualiza la conexión de un proyecto con el ID federation-test
y el ID de conexión test-mysql
.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "federation-test:us-central1:new-mysql", "database" : "imdb2", "type" : "MYSQL" }' --connection_credential='{"username":"my_username", "password":"my_password"}' federation-test.us.test-mysql
API
Consulta el método projects.locations.connections.patch
en la sección de referencia de la API REST y proporciona una instancia de connection
.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Eliminar una conexión
Selecciona una de las opciones siguientes:
Consola
Ve a la página BigQuery.
Las conexiones se muestran en tu proyecto, en un grupo llamado Conexiones externas.
En el panel Explorador, haga clic en el nombre del proyecto > Conexiones externas > conexión.
En el panel Detalles, haga clic en
Eliminar para eliminar la conexión.En el cuadro de diálogo ¿Eliminar conexión?, introduce
delete
para confirmar la eliminación.Haz clic en Eliminar.
bq
Introduce el comando bq rm
y proporciona la marca de conexión:
--connection
. Es obligatorio indicar el connection_id
completo.
bq rm --connection PROJECT_ID.REGION.CONNECTION_ID
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto Google CloudREGION
: la región de conexiónCONNECTION_ID
: el ID de conexión
API
Consulta el método projects.locations.connections.delete
en la sección de referencia de la API REST.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Siguientes pasos
- Consulta cómo usar las funciones del mando a distancia.
- Consulta cómo usar procedimientos almacenados en Spark.