Crea repositorios
En este documento, se muestra cómo trabajar con repositorios en BigQuery, incluidas las siguientes tareas:
- Crea repositorios
- Borra repositorios
- Cómo compartir repositorios
- Conectar de forma opcional un repositorio de BigQuery a un repositorio de terceros
Antes de comenzar
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
Crear y administrar repositorios compartidos:
Propietario del código (
roles/dataform.codeOwner
) -
Crear y borrar espacios de trabajo en repositorios compartidos:
Editor de código (
roles/dataform.codeEditor
) -
Crear, modificar y control de versión de archivos en espacios de trabajo en repositorios compartidos:
Editor de código (
roles/dataform.codeEditor
) -
Para ver los espacios de trabajo y sus archivos en repositorios compartidos, usa el Visualizador de código (
roles/dataform.codeViewer
). -
Crear y administrar repositorios privados, incluidas todas las acciones con espacios de trabajo y archivos en el repositorio privado:
Creador de código (
roles/dataform.codeCreator
) En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, haz clic en la carpeta Repositories.
En el editor, haz clic en Agregar repositorio.
En el panel Crear repositorio, en el campo ID del 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 obtener 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 SSH pública a tu repositorio de Azure DevOps Services.
Bitbucket
- En Bitbucket, crea una clave SSH privada.
- Sube la clave SSH pública a tu repositorio de Bitbucket.
GitHub
- En GitHub, busca claves SSH existentes.
- Si no tienes llaves SSH existentes o quieres usar una nueva, crea una llave 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 SSH pública de GitLab a tu repositorio de GitLab.
En Secret Manager, crea un secreto y pega tu clave SSH privada como el valor del secreto. Tu clave SSH privada debe almacenarse en un archivo similar a
~/.ssh/id_ed25519
. Asigna un nombre al secreto para que puedas encontrarlo en el futuro.Otorga acceso al secreto a tu cuenta de servicio predeterminada de Dataform.
Tu cuenta de servicio de Dataform predeterminada tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Otorga el rol
roles/secretmanager.secretAccessor
a la cuenta de servicio.En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, expande la carpeta Repositories.
Selecciona el repositorio de BigQuery al que deseas conectarte.
En el editor, selecciona la pestaña Configuration.
Haz clic en Conectarse con Git.
En el panel Conectarse al repositorio remoto, selecciona el botón de selección SSH.
En el campo URL del repositorio de Git remoto, escribe la URL del repositorio de Git remoto, que termina con
.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 Default remote branch name, escribe el nombre de la rama principal del repositorio Git remoto.
En el menú desplegable Secret, selecciona el secreto que creaste y que contiene la clave privada SSH.
En el campo Valor de clave de host público de SSH, escribe la clave de host público de tu proveedor de Git.
Azure DevOps Services
El valor de la clave de host pública de SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificados en el formatobase64
, pero sin el nombre de host ni la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar la clave de host pública de Azure DevOps Services, ejecuta el comando
ssh-keyscan -t rsa ssh.dev.azure.com
en la terminal.Bitbucket
El valor de la clave de host pública de SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificados en el formatobase64
, pero sin el nombre de host ni la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar la clave de host pública de Bitbucket, consulta Configura SSH.
GitHub
El valor de la clave de host pública de SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificados en el formatobase64
, pero sin el nombre de host ni la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar la clave de host pública de GitHub, consulta Huellas digitales de la clave SSH de GitHub.
GitLab
El valor de la clave de host pública de SSH debe tener el formato de un archivo
known_hosts
. El valor debe contener un algoritmo y una clave pública codificados en el formatobase64
, pero sin el nombre de host ni la IP, en el siguiente formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar la clave de host pública de GitLab, consulta Entradas de
known_hosts
SSH.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 para los repositorios seleccionados y, luego, selecciona el repositorio al que deseas conectarte.
Otorga acceso de lectura y escritura al contenido del repositorio.
Establece un tiempo de vencimiento del token adecuado para tus necesidades.
- Para obtener un token de acceso personal clásico de GitHub, haz lo siguiente:
Otorga a BigQuery el permiso
repo
.Establece un tiempo de vencimiento del token adecuado para tus necesidades.
Si tu organización usa el inicio de sesión único (SSO) de SAML, autoriza el token.
GitLab
En GitLab, crea un token de acceso personal de GitLab.
Asigna el nombre
dataform
al token. Este paso es obligatorio.Otorga a BigQuery los permisos
api
,read_repository
ywrite_repository
.Establece un tiempo de vencimiento del token adecuado para tus necesidades.
En Secret Manager, crea un secreto que contenga el token de acceso personal de tu repositorio remoto.
Otorga acceso al secreto a tu cuenta de servicio predeterminada de Dataform.
Tu cuenta de servicio de Dataform predeterminada tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Otorga el rol
roles/secretmanager.secretAccessor
a la cuenta de servicio.En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, expande la carpeta Repositories.
Selecciona el repositorio de BigQuery al que deseas conectarte.
En el editor, selecciona la pestaña Configuration.
Haz clic en Conectarse con Git.
En el panel Connect to remote repository, selecciona el botón de opción HTTPS.
En el campo URL del repositorio de Git remoto, escribe la URL del repositorio de Git remoto, que termina con
.git
.La URL del repositorio de Git remoto no puede contener nombres de usuario ni contraseñas.
En el campo Default remote branch name, escribe el nombre de la rama principal del repositorio Git remoto.
En el menú desplegable Secret, selecciona el secret que creaste y que contiene el token de acceso personal.
Haz clic en Conectar.
En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, expande la carpeta Repositories.
Selecciona el repositorio de BigQuery cuya conexión deseas editar.
En el editor, selecciona la pestaña Configuration.
En la página del repositorio, haz clic en Editar conexión de Git.
Editar la configuración de conexión
Haz clic en Actualizar.
En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, haz clic en la carpeta Repositories.
En el panel Git Repositories, selecciona el repositorio que deseas compartir.
Haz clic en la opción Acciones
y, luego, en Compartir.En el panel Permisos de uso compartido, haz clic en Agregar usuario o grupo.
En el panel Agregar usuario o grupo, en el campo Nuevos principales, escribe uno o más nombres de usuarios o grupos, separados por comas.
En el campo Rol, elige el rol que se asignará a los nuevos principales.
Haz clic en Guardar.
En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, haz clic en la carpeta Repositories.
En el panel Git Repositories, selecciona el repositorio que deseas borrar.
Haz clic en la opción Acciones
y, luego, en Borrar.Haz clic en Borrar.
- Obtén más información para crear espacios de trabajo.
Roles obligatorios
Para obtener los permisos que necesitas para trabajar con repositorios y espacios de trabajo, pídele a tu administrador que te otorgue los siguientes roles de IAM en repositorios y espacios de trabajo:
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Los principales que tienen el rol de editor de código en un repositorio pueden editar todos los espacios de trabajo del repositorio.
Los repositorios privados que crees seguirán siendo visibles para las entidades principales a las que se les otorguen los roles de administrador de BigQuery o administrador de BigQuery Studio a nivel del proyecto. Estas entidades principales pueden compartir tu repositorio privado con otros usuarios.
Crea un repositorio
Para crear un repositorio de BigQuery, sigue estos pasos:
Conéctate a un repositorio de terceros
En esta sección, se muestra 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 contiene el repositorio. Por ejemplo, extraer actualizaciones del repositorio remoto y enviar cambios a este.
Te recomendamos que crees un repositorio de BigQuery dedicado 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 Internet pública, por ejemplo, si está detrás de un firewall. En la siguiente tabla, se enumeran los proveedores de Git compatibles 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 |
Conecta un repositorio remoto a través de 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. Luego, comparte el secreto con tu cuenta de servicio predeterminada de BigQuery.
BigQuery usa el secreto con la clave SSH privada para acceder a tu proveedor de Git y confirmar los cambios en nombre de los usuarios. BigQuery realiza estas confirmaciones con la dirección de correo electrónico Google Cloud del usuario para que puedas saber quién realizó cada confirmación.
Para conectar un repositorio remoto a un repositorio de BigQuery a través de SSH, sigue estos pasos:
Conecta un repositorio remoto a través de 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.
Luego, BigQuery usa el token de acceso para acceder a tu proveedor de Git y confirmar los cambios en nombre de los usuarios. BigQuery realiza estas confirmaciones con la dirección de correo electrónico Google Cloud del usuario para que puedas saber quién realizó cada confirmación.
Para conectar un repositorio remoto a un repositorio de BigQuery a través de HTTPS, sigue estos pasos:
Edita la conexión del repositorio remoto
Para editar una conexión entre un repositorio de BigQuery y un repositorio de Git remoto, sigue estos pasos:
Cómo compartir un repositorio
Para compartir un repositorio, sigue estos pasos:
Borra un repositorio
Para borrar un repositorio y todo su contenido, sigue estos pasos: