# Google Big Table

O ***Google*** ***Big Table*** estabelece uma conexão com o serviço Google BigTable no *pipeline*. Essa funcionalidade permite a execução de diferentes operações usando instâncias de bancos de dados do Google BigTable.

Dê uma olhada nos parâmetros de configuração do componente:

* **Account:** é necessário ter uma conta do tipo *PRIVATE KEY* para que o componente faça a autenticação do serviço.
* **Project Id:** ID do projeto no Google BigTable.
* **Instance Id:** ID da instância no Google BigTable.
* **Table Id:** ID da tabela no Google BigTable.
* **Operation:** seleciona a operação a ser executada no banco de dados, que podem ser: *write, read by rowkey, read by specific cell, read by prefix, read by range*, ou *delete row by rowkey.*
* **Payload as file:** se a opção estiver habilitada, o cadastro será realizado através de um arquivo localizado no campo *“File Name”*. Caso a opção esteja desabilitada, o preenchimento deve ser feito no campo *“Payload”*.
* **Payload:** objeto a ser cadastrado no banco de dados.
* **File name:** arquivo com o objeto a ser cadastrado.
* **Rowkey:** identifica a *rowkey* de uma linha no Google BigTable.
* **Family:** identifica a família no Google BigTable.
* **Qualifier:** identifica o qualificador no Google BigTable.
* **Prefix:** define o prefixo utilizado para consultar a *rowkey* de uma linha no Google BigTable.
* **Start range:** define o limite inicial utilizado para consultar a *rowkey* de uma linha no Google BigTable.
* **End range:** define o limite final utilizado para consultar a *rowkey* de uma linha no Google BigTable.
* **Fail On Error:** se a opção estiver habilitada, a execução do *pipeline* com erro será interrompida. Do contrário, a execução do *pipeline* continuará, mas o resultado mostrará um valor falso para a propriedade "*success*".

Alguns dos parâmetros mostrados acima suportam *Double Braces*. Leia o artigo [Como referenciar dados usando Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/how-to-reference-data-using-double-braces.md) para entender o funcionamento dessa linguagem.

## Fluxo de mensagens

### Entrada

Nenhuma mensagem de entrada específica é esperada, e sim apenas o preenchimento dos parâmetros obrigatórios que variam conforme a operação selecionada. Veja abaixo a obrigatoriedade de parâmetros para cada operação:

* *Write: Payload*
* *Read by rowKey: Rowkey*
* *Read by specific cell: Rowkey, Family, Qualifier*
* *Read by prefix: Prefix*
* *Read by range: Start range, End range*
* *Delete row by rowkey: Rowkey*

No caso da operação *Write*, é necessária a existência do nome ou caminho do arquivo no campo *“File Name”* se a opção *“Payload as File”* estiver ativada.&#x20;

### Saída

Ao executar o componente utilizando as operações *Write* ou *Delete row by rowkey*, a seguinte estrutura de JSON será gerada:

```
{
  "success": true
}
```

* **success:** *"true"* se a última operação ocorreu com sucesso.
* **error:** surge se um erro ocorreu e o Fail on Error é *"false".*

Ao executar o componente utilizando as operações *Read by rowKey, Read by specific cell, Read by prefix* ou *Read by range*, a seguinte estrutura de JSON será gerada:

{% code overflow="wrap" %}

```
{
  "data": "[{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"}]}]",
  "success": true
}
```

{% endcode %}

* **data:** volume de dados retornados com a operação.
* **rowKey:** ID do *rowkey* usado na operação.
* **cellList:** conjunto de células contendo os dados *family, qualifier* e *value*.
* **family:** família da instância do banco de dados.&#x20;
* **qualifier:** qualificador da instância do banco de dados.
* **value:** valor da instância do banco de dados.
* **success:** *"true"* se a última operação ocorreu com sucesso.

## Google Big Table em ação

Dê uma olhada nos parâmetros de entrada e na saída esperada para cada operação nos exemplos a seguir:&#x20;

### Write

#### **Entrada**

**Parâmetros**

**Account:** google-storage-test

**Project ID:** digibee-test

**Instance ID:** spike-bigtable-id

**Table ID:** historicoAtivos

**Operation:** Write

**Payload:**

```
[
   {
      "rowKey":"BBDC4#20200102",
      "cellList":[
         {
            "family":"familiaA",
            "qualifier":"data",
            "value":"20200103"
         },
         {
            "family":"familiaA",
            "qualifier":"data",
            "value":"20200103"
         }
      ]
   }
]
```

#### **Saída**

```
{
  "success": true
}
```

### Read by RowKey

#### **Entrada**

**Parâmetros**

**Account:** google-storage-test

**Project ID:** digibee-test

**Instance ID:** spike-bigtable-id

**Table ID:** historicoAtivos

**Operation:** Read

**RowKey:** BBDC4#20200103

#### **Saída**

{% code overflow="wrap" %}

```
{
  "data": "[{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"}]}]",
  "success": true
}
```

{% endcode %}

### Read by specific cell

#### **Entrada**

**Parâmetros**

**Account:** google-storage-test

**Project ID:** digibee-test

**Instance ID:** spike-bigtable-id

**Table ID:** historicoAtivos

**Operation:** Read by specific cell

**Rowkey:** BBDC4#20200103

**Family:** familiaA

**Qualifier:** data

#### **Saída**

{% code overflow="wrap" %}

```
{
  "data": "{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"}]}",
  "success": true
}
```

{% endcode %}

### Read by prefix

#### **Entrada**

**Parâmetros**

**Account:** google-storage-test

**Project ID:** digibee-test

**Instance ID:** spike-bigtable-id

**Table ID:** historicoAtivos

**Operation:** Read by prefix

**Prefix:** BBDC4#202001

#### **Saída**

{% code overflow="wrap" %}

```
{
  "data": "[{\"rowKey\":\"BBDC4#20200102\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200102\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200102\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200102\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,20909119\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,20909119\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,20909119\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"32,90908813\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"32,90908813\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"32,90908813\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,07200241\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,07200241\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,07200241\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"20687260\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"20687260\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"20687260\"}]}]",
  "success": true
}
```

{% endcode %}

### Read by range

#### **Entrada**

**Parâmetros**

**Account:** google-storage-test

**Project ID:** digibee-test

**Instance ID:** spike-bigtable-id

**Table ID:** historicoAtivos

**Operation:** Read by range

**Start range:** BBDC4#20200100

**End range:** BBDC4#20200106

#### **Saída**

{% code overflow="wrap" %}

```
{
  "data": "[{\"rowKey\":\"BBDC4#20200102\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"}]},{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"}]}]",
  "success": true
}
```

{% endcode %}

### Delete row by rowKey

#### **Entrada**

**Parâmetros**

**Account:** google-storage-test

**Project ID:** digibee-test

**Instance ID:** spike-bigtable-id

**Table ID:** historicoAtivos

**Operation:** Delete row by rowKey

**Rowkey:** BBDC4#20200102

#### **Saída**

```
{
  "success": true
}

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/structured-data/google-big-table.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
