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:
- Conectarse 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Cloud Bigtable and Cloud Bigtable Admin APIs:
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/bigtable.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Cloud Bigtable and Cloud Bigtable Admin APIs:
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/bigtable.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Ejecuta el siguiente comando para instalar
CLI de
cbt
:gcloud components install cbt
Crear 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
.Haga clic en Continuar.
En Tipo de almacenamiento (Storage type), selecciona SSD.
Haga clic en Continuar.
En ID de clúster, ingresa
quickstart-instance-c1
.En Región, selecciona una región cercana.
En Zona, selecciona Cualquier.
En Modo de escalamiento de nodos, elige Asignación manual.
En Cantidad, selecciona 1.
Haz clic en Crear para crear la instancia.
Conéctese a su instancia
Configura la CLI de
cbt
para que use tu instancia y proyecto. Para ello, crea un archivo.cbtrc
y reemplazaPROJECT_ID
por 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
cbt
con 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-table
Agrega 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 a este:
Family Name GC Policy ----------- --------- cf1 <never>
Escribe los valores
test-value1
ytest-value2
en la filar1
con el método la familia de columnascf1
y 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 read
para 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
.
Limpia
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. Si borras el archivo .cbtrc
, estarás listo para 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 el
CLI de
cbt
documentación de referencia. - Consulta el código fuente de muestra de un caso de uso de detección de fraudes.
- Escribe una aplicación Hello World en C#, C++, Go, Java, Node.js, PHP, Python, Ruby o el cliente de HBase para Java.