Crear repositorios
En este documento se explica cómo trabajar con repositorios en BigQuery, incluidas las siguientes tareas:
- Crear repositorios
- Eliminar repositorios
- Compartir repositorios
- Conectar opcionalmente un repositorio de BigQuery a un repositorio de terceros
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Crear y gestionar repositorios compartidos:
Propietario del código (
roles/dataform.codeOwner
) -
Crear y eliminar espacios de trabajo en repositorios compartidos:
Editor de código (
roles/dataform.codeEditor
) -
Crear, modificar y controlar las versiones de los archivos en los espacios de trabajo de los repositorios compartidos:
Editor de código (
roles/dataform.codeEditor
) -
Ver los espacios de trabajo y sus archivos en repositorios compartidos:
Visor de código (
roles/dataform.codeViewer
) -
Crear y gestionar repositorios privados, incluidas todas las acciones con espacios de trabajo y archivos en el repositorio privado:
Code Creator (
roles/dataform.codeCreator
) En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, haz clic en la carpeta Repositorios.
En el editor, haz clic en Añadir repositorio.
En el panel Crear repositorio, en el campo ID de repositorio, escribe un ID único.
Los IDs solo pueden incluir números, letras, guiones y guiones bajos.
En la lista desplegable Región, selecciona una región de BigQuery para almacenar el repositorio y su contenido. Selecciona la región de BigQuery más cercana a tu ubicación.
Para ver una lista de las regiones de BigQuery disponibles, consulta Ubicaciones de BigQuery Studio. La región del repositorio no tiene que coincidir con la ubicación de tus conjuntos de datos de BigQuery.
Haz clic en Crear.
En tu proveedor de Git, haz lo siguiente:
Azure DevOps Services
- En Azure DevOps Services, crea una clave SSH privada.
- Sube la clave pública SSH a tu repositorio de Azure DevOps Services.
Bitbucket
- En Bitbucket, crea una clave SSH privada.
- Sube la clave pública SSH a tu repositorio de Bitbucket.
GitHub
- En GitHub, busca claves SSH.
- Si no tienes ninguna clave SSH o quieres usar una nueva, crea una clave SSH privada.
- Sube la clave SSH pública de GitHub a tu repositorio de GitHub.
GitLab
- En GitLab, crea una clave SSH privada.
- Sube la clave pública SSH de GitLab a tu repositorio de GitLab.
En Secret Manager, crea un secreto y pega tu clave SSH privada como valor del secreto. Tu clave SSH privada debe almacenarse en un archivo similar a
~/.ssh/id_ed25519
. Asigna un nombre al secreto para poder encontrarlo en el futuro.Concede acceso al secreto a tu cuenta de servicio predeterminada de Dataform.
Tu cuenta de servicio predeterminada de Dataform tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Asigna el
roles/secretmanager.secretAccessor
rol a la cuenta de servicio.En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, despliega la carpeta Repositorios.
Selecciona el repositorio de BigQuery que quieras conectar al repositorio remoto.
En el editor, selecciona la pestaña Configuración.
Haz clic en Conectar con Git.
En el panel Conectar con repositorio remoto, selecciona el botón de radio SSH.
En el campo URL del repositorio Git remoto, escribe la URL del repositorio Git remoto, que termina en
.git
.La URL del repositorio de Git remoto debe tener uno de los siguientes formatos:
- URL absoluta:
ssh://git@{host_name}[:{port}]/{repository_path}
.port
es opcional. - URL similar a SCP:
git@{host_name}:{repository_path}
.
- URL absoluta:
En el campo Nombre de rama remota predeterminado, escribe el nombre de la rama principal del repositorio Git remoto.
En el menú desplegable Secreto, selecciona el secreto que has creado y que contiene la clave privada SSH.
En el campo Valor de la clave pública de host SSH, escribe la clave pública de host de tu proveedor de Git.
Azure DevOps Services
El valor de la clave pública de host SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificada en formatobase64
, pero sin el nombre de host ni la IP, con el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para obtener la clave de host pública de Azure DevOps Services, ejecuta el comando
ssh-keyscan -t rsa ssh.dev.azure.com
en el terminal.Bitbucket
El valor de la clave pública de host SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificada en formatobase64
, pero sin el nombre de host ni la IP, con el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para obtener la clave de host pública de Bitbucket, consulta Configurar SSH.
GitHub
El valor de la clave pública de host SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificada en formatobase64
, pero sin el nombre de host ni la IP, con el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para obtener la clave pública de host de GitHub, consulta las huellas digitales de la clave SSH de GitHub.
GitLab
El valor de la clave pública de host SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificada en formatobase64
, pero sin el nombre de host ni la IP, con el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para obtener la clave de host pública de GitLab, consulta las entradas de SSH
known_hosts
.Haz clic en Conectar.
En tu proveedor de Git, haz lo siguiente:
GitHub
En GitHub, crea un token de acceso personal detallado o un token de acceso personal clásico.
- Para obtener un token de acceso personal de GitHub detallado, haz lo siguiente:
Selecciona el acceso al repositorio solo a los repositorios seleccionados y, a continuación, selecciona el repositorio al que quieras conectarte.
Concede acceso de lectura y escritura al contenido del repositorio.
Define un tiempo de caducidad del token que se adapte a tus necesidades.
- Para obtener un token de acceso personal clásico de GitHub, sigue estos pasos:
Concede a BigQuery el permiso
repo
.Define un tiempo de caducidad del token que se adapte a tus necesidades.
Si tu organización utiliza el inicio de sesión único (SSO) basado en SAML, autoriza el token.
GitLab
En GitLab, crea un token de acceso personal de GitLab.
Asigna un nombre al token
dataform
. Es obligatorio.Concede a BigQuery los permisos
api
,read_repository
ywrite_repository
.Define un tiempo de caducidad del token que se adapte a tus necesidades.
En Secret Manager, crea un secreto que contenga el token de acceso personal de tu repositorio remoto.
Concede acceso al secreto a tu cuenta de servicio predeterminada de Dataform.
Tu cuenta de servicio predeterminada de Dataform tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Asigna el
roles/secretmanager.secretAccessor
rol a la cuenta de servicio.En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, despliega la carpeta Repositorios.
Selecciona el repositorio de BigQuery que quieras conectar al repositorio remoto.
En el editor, selecciona la pestaña Configuración.
Haz clic en Conectar con Git.
En el panel Conectar con repositorio remoto, selecciona el botón de radio HTTPS.
En el campo URL del repositorio Git remoto, escribe la URL del repositorio Git remoto, que termina en
.git
.La URL del repositorio de Git remoto no puede contener nombres de usuario ni contraseñas.
En el campo Nombre de rama remota predeterminado, escribe el nombre de la rama principal del repositorio Git remoto.
En el desplegable Secreto, selecciona el secreto que has creado y que contiene el token de acceso personal.
Haz clic en Conectar.
En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, despliega la carpeta Repositorios.
Seleccione el repositorio de BigQuery cuya conexión quiera editar.
En el editor, selecciona la pestaña Configuración.
En la página del repositorio, haz clic en Editar conexión de Git.
Edita los ajustes de conexión.
Haz clic en Actualizar.
En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, haz clic en la carpeta Repositorios.
En el panel Repositorios de Git, selecciona el repositorio que quieras compartir.
Haz clic en la opción
Acciones y, a continuación, en Compartir.En el panel Permisos de uso compartido, haz clic en Añadir usuario o grupo.
En el panel Añadir usuario o grupo, escribe uno o varios nombres de usuario o de grupo en el campo Nuevos principales, separados por comas.
En el campo Rol, elige el rol que quieras asignar a las nuevas entidades.
Haz clic en Guardar.
En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, haz clic en la carpeta Repositorios.
En el panel Repositorios de Git, selecciona el repositorio que quieras eliminar.
Haz clic en la opción
Acciones y, a continuación, en Eliminar.Haz clic en Eliminar.
- Consulta cómo crear espacios de trabajo.
Roles obligatorios
Para obtener los permisos que necesitas para trabajar con repositorios y espacios de trabajo, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en repositorios y espacios de trabajo:
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.
Las entidades de seguridad que tengan el rol Editor de código en un repositorio podrán editar todos los espacios de trabajo del repositorio.
Los repositorios privados que crees seguirán siendo visibles para las entidades a las que se les haya asignado el rol Administrador de BigQuery o Administrador de BigQuery Studio a nivel de proyecto. Estas entidades pueden compartir tu repositorio privado con otros usuarios.
Crear un repositorio
Para crear un repositorio de BigQuery, sigue estos pasos:
Conectarse a un repositorio de terceros
En esta sección se explica cómo conectar un repositorio de BigQuery a un repositorio remoto. Después de conectar los repositorios, puedes realizar acciones de Git en los archivos de los espacios de trabajo que contenga el repositorio. Por ejemplo, extraer actualizaciones del repositorio remoto y enviar cambios al repositorio remoto.
Te recomendamos que crees un repositorio de BigQuery específico para cada repositorio remoto al que te conectes. Asigna al repositorio de BigQuery un nombre similar al del repositorio remoto para que la asignación sea clara.
Puedes conectar un repositorio remoto a través de HTTPS o SSH. La conexión de un repositorio de BigQuery a un repositorio remoto puede fallar si el repositorio remoto no está abierto a la red pública de Internet, por ejemplo, si está detrás de un cortafuegos. En la siguiente tabla se indican los proveedores de Git admitidos y los métodos de conexión disponibles para sus repositorios:
Proveedor de Git | Método de conexión |
---|---|
Azure DevOps Services | SSH |
Bitbucket | SSH |
GitHub | SSH o HTTPS |
GitLab | SSH o HTTPS |
Conectar un repositorio remoto mediante SSH
Para conectar un repositorio remoto a través de SSH, debes generar una clave SSH y un secreto de Secret Manager. La clave SSH consta de una clave SSH pública y una clave SSH privada. Debes compartir la clave SSH pública con tu proveedor de Git y crear un secreto de Secret Manager con la clave SSH privada. A continuación, comparte el secreto con tu cuenta de servicio predeterminada de BigQuery.
BigQuery usa el secreto con la clave SSH privada para iniciar sesión en tu proveedor de Git y confirmar los cambios en nombre de los usuarios. BigQuery hace estas confirmaciones usando la dirección de correo del usuario para que puedas saber quién ha hecho cada confirmación. Google Cloud
Para conectar un repositorio remoto a un repositorio de BigQuery mediante SSH, sigue estos pasos:
Conectar un repositorio remoto mediante HTTPS
Para conectar un repositorio remoto a través de HTTPS, debes crear un secreto de Secret Manager con un token de acceso personal y compartirlo con tu cuenta de servicio predeterminada de BigQuery.
A continuación, BigQuery usa el token de acceso para iniciar sesión en tu proveedor de Git y confirmar los cambios en nombre de los usuarios. BigQuery hace estas confirmaciones con la Google Cloud dirección de correo del usuario para que sepas quién ha hecho cada confirmación.
Para conectar un repositorio remoto a un repositorio de BigQuery a través de HTTPS, sigue estos pasos:
Editar la conexión del repositorio remoto
Para editar una conexión entre un repositorio de BigQuery y un repositorio Git remoto, sigue estos pasos:
Compartir un repositorio
Para compartir un repositorio, sigue estos pasos:
Eliminar un repositorio
Para eliminar un repositorio y todo su contenido, sigue estos pasos: