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 un repositorio de BigQuery a un repositorio de terceros (opcional)

Antes de comenzar

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

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:

  • 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 controlar versiones 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)

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.

Las principales que tienen el rol de Editor de código en un repositorio pueden editar todos los lugares de trabajo del repositorio.

Los repositorios privados que crees seguirán siendo visibles para las partes principales a las que se les otorguen los roles de administrador de BigQuery o administrador de BigQuery Studio a nivel del proyecto. Estos principales pueden compartir tu repositorio privado con otros usuarios.

Crea un repositorio

Para crear un repositorio de BigQuery, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, haz clic en la carpeta Repositorios.

  3. En el editor, haz clic en Agregar repositorio.

  4. 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.

  5. 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.

  6. Haz clic en Crear.

Cómo conectarse 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 GitHub en los archivos de los espacios de trabajo que contiene el repositorio. Por ejemplo, extraer actualizaciones del repositorio remoto y enviar cambios al repositorio remoto.

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 repositorio remoto para que la asignación sea clara.

Puedes conectar un repositorio remoto a través de HTTPS o SSH. 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
Servicios de Azure DevOps SSH
Bitbucket SSH
GitHub SSH o HTTPS
GitLab SSH o HTTPS

Cómo conectar 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 Secret con la clave privada de SSH 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:

  1. En tu proveedor de Git, haz lo siguiente:

    Servicios de Azure DevOps

    1. En Azure DevOps Services, crea una clave privada de SSH.
    2. Sube la clave SSH pública a tu repositorio de Azure DevOps Services.

    Bitbucket

    1. En Bitbucket, crea una clave privada de SSH.
    2. Sube la clave SSH pública a tu repositorio de Bitbucket.

    GitHub

    1. En GitHub, busca claves SSH existentes.
    2. Si no tienes ninguna clave SSH existente o quieres usar una nueva, crea una clave SSH privada.
    3. Sube la clave SSH pública de GitHub a tu repositorio de GitHub.

    GitLab

    1. En GitLab, crea una clave privada SSH.
    2. Sube la clave SSH pública de GitLab a tu repositorio de GitLab.
  2. En Secret Manager, crea un secreto y pega tu clave privada de SSH como el valor 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.

  3. Otorga acceso al Secret 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
    
  4. Otorga el rol roles/secretmanager.secretAccessor a la cuenta de servicio.

  5. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  6. En el panel Explorador, expande la carpeta Repositorios.

  7. Selecciona el repositorio de BigQuery que deseas conectar al repositorio remoto.

  8. En el editor, selecciona la pestaña Configuración.

  9. Haz clic en Connect with Git.

  10. En el panel Conectarse al repositorio remoto, selecciona el botón de selección SSH.

  11. 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}.
  12. En el campo Nombre de rama remota predeterminada, escribe el nombre de la rama principal del repositorio remoto de Git.

  13. En el menú desplegable Secreto, selecciona el secreto que creaste y que contiene la clave privada de SSH.

  14. En el campo Valor de clave de host público de SSH, escribe la clave de host pública de tu proveedor de GitHub.

    Servicios de Azure DevOps

    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 formato base64, 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 los servicios de Azure DevOps, 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 formato base64, 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 formato base64, 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 las 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 formato base64, 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 known_hosts de SSH.

  15. Haz clic en Conectar.

Cómo conectar 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 GitHub 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:

  1. En tu proveedor de Git, haz lo siguiente:

    GitHub

    1. 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:
      1. Selecciona el acceso al repositorio solo a los repositorios seleccionados y, luego, selecciona el repositorio al que deseas conectarte.

      2. Otorga acceso de lectura y escritura al contenido del repositorio.

      3. 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:
      1. Otorga el permiso repo a BigQuery.

      2. Establece un tiempo de vencimiento del token adecuado para tus necesidades.

    2. Si tu organización usa el inicio de sesión único (SSO) de SAML, autoriza el token.

    GitLab

    1. En GitLab, crea un token de acceso personal de GitLab.

    2. Asigna el nombre dataform al token. Esto es obligatorio.

    3. Otorga a BigQuery los permisos api, read_repository y write_repository.

    4. Establece un tiempo de vencimiento del token adecuado para tus necesidades.

  2. En Secret Manager, crea un secreto que contenga el token de acceso personal de tu repositorio remoto.

  3. Otorga acceso al Secret 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
    
  4. Otorga el rol roles/secretmanager.secretAccessor a la cuenta de servicio.

  5. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  6. En el panel Explorador, expande la carpeta Repositorios.

  7. Selecciona el repositorio de BigQuery que deseas conectar al repositorio remoto.

  8. En el editor, selecciona la pestaña Configuración.

  9. Haz clic en Connect with Git.

  10. En el panel Conectarse al repositorio remoto, selecciona el botón de selección HTTPS.

  11. 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.

  12. En el campo Nombre de rama remota predeterminada, escribe el nombre de la rama principal del repositorio remoto de Git.

  13. En el menú desplegable Secret, selecciona el secreto que creaste y que contiene el token de acceso personal.

  14. Haz clic en Conectar.

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:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande la carpeta Repositorios.

  3. Selecciona el repositorio de BigQuery cuya conexión deseas editar.

  4. En el editor, selecciona la pestaña Configuración.

  5. En la página del repositorio, haz clic en Editar conexión de Git.

  6. Edita la configuración de conexión.

  7. Haz clic en Actualizar.

Cómo compartir un repositorio

Para compartir un repositorio, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, haz clic en la carpeta Repositorios.

  3. En el panel Repositorios de Git, selecciona el repositorio que deseas compartir.

  4. Haz clic en la opción Acciones y, luego, en Compartir.

  5. En el panel Compartir permisos, haz clic en Agregar usuario o grupo.

  6. 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.

  7. En el campo Rol, elige el rol que deseas asignar a los principales nuevos.

  8. Haz clic en Guardar.

Borra un repositorio

Para borrar un repositorio y todo su contenido, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, haz clic en la carpeta Repositorios.

  3. En el panel Repositorios de Git, selecciona el repositorio que deseas borrar.

  4. Haz clic en la opción Acciones y, luego, en Borrar.

  5. Haz clic en Borrar.

¿Qué sigue?