Crea una instancia y escribe datos con la CLI de “cbt”
Si estás aprendiendo sobre Bigtable, puedes trabajar con una guía de inicio rápido para conocer los conceptos básicos que aplicarías a gran escala en un entorno de producción.
En esta guía de inicio rápido, harás lo siguiente:
- Conéctate a una instancia de Bigtable.
- Realizar tareas administrativas básicas
- Escribir datos en una tabla
- Leer datos de una tabla
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un proyecto de Google Cloud :
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu proyecto de Google Cloud .
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
Habilita las APIs de Cloud Bigtable y Cloud Bigtable Admin si alguna aún no está habilitada:
Roles necesarios para habilitar las APIs
Para habilitar APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Otorga roles a tu cuenta de usuario. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/bigtable.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Reemplaza lo siguiente:
PROJECT_ID: ID del proyectoUSER_IDENTIFIER: Es el identificador de tu cuenta de usuario de . Por ejemplo,myemail@example.com.ROLE: Es el rol de IAM que otorgas a tu cuenta de usuario.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un proyecto de Google Cloud :
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu proyecto de Google Cloud .
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
Habilita las APIs de Cloud Bigtable y Cloud Bigtable Admin si alguna aún no está habilitada:
Roles necesarios para habilitar las APIs
Para habilitar APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Otorga roles a tu cuenta de usuario. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/bigtable.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Reemplaza lo siguiente:
PROJECT_ID: ID del proyectoUSER_IDENTIFIER: Es el identificador de tu cuenta de usuario de . Por ejemplo,myemail@example.com.ROLE: Es el rol de IAM que otorgas a tu cuenta de usuario.
- Ejecuta el siguiente comando para instalar la CLI de
cbt:gcloud components install cbt
Crea una instancia de Bigtable
Abre la página Crear instancia en la consola de Google Cloud .
En Nombre de la instancia, ingresa
Quickstart instance.En ID de instancia (Instance ID), ingresa
quickstart-instance.Haz clic en Continuar.
En Tipo de almacenamiento (Storage type), selecciona SSD.
Haz clic en Continuar.
En ID de clúster, ingresa
quickstart-instance-c1.En Región, selecciona una región cercana.
En Zona, selecciona Cualquiera.
En Modo de escalamiento de nodos, elige Asignación manual.
En Cantidad, selecciona 1.
Haz clic en Crear para crear la instancia.
Conéctate a la instancia
Configura la CLI de
cbtpara que use tu instancia y proyecto. Para ello, crea un archivo.cbtrcy reemplazaPROJECT_IDpor el ID del proyecto en el que creaste la instancia de Bigtable:echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
Verifica que hayas configurado correctamente el archivo
.cbtrc:cat ~/.cbtrc
La terminal muestra el contenido del archivo
.cbtrc, que es similar a lo siguiente:project = PROJECT_ID instance = quickstart-instance
Ahora puedes usar la CLI de
cbtcon tu instancia.
Lee y escribe datos
Bigtable almacena datos en tablas, las cuales contienen filas. Cada fila se identifica con una clave de fila.
Los datos de una fila se organizan en familias de columnas, que son grupos de columnas. Un calificador de columna identifica una columna individual dentro de una familia.
Puede haber varias celdas con marcas de tiempo en la intersección de una fila y una columna.
Crea una tabla con el nombre
my-table.cbt createtable my-table
Genera una lista de tus tablas:
cbt ls
El comando muestra un resultado similar a este:
my-tableAgrega una familia de columnas con el nombre
cf1:cbt createfamily my-table cf1
Genera una lista de tus familias de columnas:
cbt ls my-table
El comando muestra un resultado similar al siguiente:
Family Name GC Policy ----------- --------- cf1 <never>Escribe los valores
test-value1ytest-value2en la filar1, con la familia de columnascf1y el calificador de columnac1:cbt set my-table r1 cf1:c1=test-value1 cbt set my-table r1 cf1:c1=test-value2
Usa el comando
cbt readpara leer los datos que agregaste a la tabla:cbt read my-table
La shell muestra un resultado similar al siguiente:
---------------------------------------- r1 cf1:c1 @ 2023/03/22-06:56:11.323000 "test-value1" cf1:c1 @ 2023/03/22-06:56:04.361000 "test-value2"Se almacenan dos valores con marca de tiempo para la misma columna en la fila
r1.
Realiza una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido, borra la instancia. Borrar el archivo .cbtrc te permite trabajar en otro proyecto.
Borra la tabla
my-table:cbt deletetable my-table
Borra la instancia:
cbt deleteinstance quickstart-instance
Borra el archivo
.cbtrc:rm ~/.cbtrc
Opcional: Revoca credenciales desde gcloud CLI:
gcloud auth revoke
¿Qué sigue?
- Trabaja en un codelab de Bigtable.
- Consulta la
documentación de referencia de la CLI de
cbt. - Consulta el código fuente de muestra para un caso de uso de detección de fraude.
- Escribe una aplicación Hello World en C#, C++, Go, Java, Node.js, PHP, Python, Ruby o el cliente de HBase para Java.