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

  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.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 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:

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

    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:

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

      Ir a BigQuery

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

    3. En el editor, haz clic en Añadir 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 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.

    6. Haz clic en Crear.

    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:

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

      Azure DevOps Services

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

      Bitbucket

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

      GitHub

      1. En GitHub, busca claves SSH.
      2. Si no tienes ninguna clave SSH 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 SSH privada.
      2. Sube la clave pública SSH de GitLab a tu repositorio de GitLab.
    2. 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.

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

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

      Ir a BigQuery

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

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

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

    9. Haz clic en Conectar con Git.

    10. En el panel Conectar con repositorio remoto, selecciona el botón de radio SSH.

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

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

    14. 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 formato base64, 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 formato base64, 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 formato base64, 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 formato base64, 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.

    15. Haz clic en Conectar.

    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:

    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, a continuación, selecciona el repositorio al que quieras conectarte.

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

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

        2. Define un tiempo de caducidad del token que se adapte a tus necesidades.

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

      GitLab

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

      2. Asigna un nombre al token dataform. Es obligatorio.

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

      4. Define un tiempo de caducidad del token que se adapte a tus necesidades.

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

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

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

      Ir a BigQuery

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

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

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

    9. Haz clic en Conectar con Git.

    10. En el panel Conectar con repositorio remoto, selecciona el botón de radio HTTPS.

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

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

    13. En el desplegable Secreto, selecciona el secreto que has creado y que contiene el token de acceso personal.

    14. Haz clic en Conectar.

    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:

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

      Ir a BigQuery

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

    3. Seleccione el repositorio de BigQuery cuya conexión quiera 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 los ajustes de conexión.

    7. Haz clic en Actualizar.

    Compartir un repositorio

    Para compartir un repositorio, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página 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 quieras compartir.

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

    5. En el panel Permisos de uso compartido, haz clic en Añadir usuario o grupo.

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

    7. En el campo Rol, elige el rol que quieras asignar a las nuevas entidades.

    8. Haz clic en Guardar.

    Eliminar un repositorio

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

    1. En la Google Cloud consola, ve a la página 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 quieras eliminar.

    4. Haz clic en la opción Acciones y, a continuación, en Eliminar.

    5. Haz clic en Eliminar.

    Siguientes pasos