Skip to main content
Skip table of contents

Google Cloud Storage BigTable Connector

This adapter enables to connect to Google Cloud BigTable, a highly available NoSQL data store that offloads the database administration.

Properties

Operation

Defines the operation executed by the Adapter.

Possible Values:

  • CreateTable: Defines the operation executed by the Google Cloud BigTable Adapter.
    Required parameters: tableNamecolumnFamilyName
  • ListTable: List all tables for project and instance
    Required parameters:   tableName,  columnFamilyName
  • PutRow: Insert rows using values from the XML input document, Using columnName and value for the rowKey attribute
    Required parameters:   tableName,  columnFamilyName
  • GetRow: Search a table by rowKey passing by parameters and return it in an output XML.
    Required parameters:   tableName,  columnFamilyName
  • Scan: Scan a table and return an output XML, according to the parameters. Scan-operation will filter the search.
    Required parameters:  tableName, columnFamilyName, columnName, startRow, stopRow, scanCached, scanResultSize, scanTimestamp, scanMaxVersions, scanCacheBlocks
  • EnableTable: Enable the table (Table must be in Disable state).
    Required parameters:   tableName,  columnFamilyName
  • DisableTable: Disable the Table (Table must be in Enable state).
    Required parameters:   tableName,  columnFamilyName
  • Delete: Delete table. If both parameters rowKey and columnName are set, this operation will only delete a specific column for the chosen row using.
    Required parameters: tableNamecolumnFamilyNamecolumnNamerowKey

Parameters

Adapter

Main adapter class (do not change!)

Possible values:  de.softproject.integration.adapter.google.cloud.bigtable.storage.GoogleCloudBigtableAdapter: Main class (default)

serviceAccountFile

Path to the JSON file that contains the service account key to authenticate to the Google Cloud Storage.

Possible values:

  • System path, for example:
    C:\X4\V_5.9\Server\X4DB\1\ExampleProcess\GoogleCloud\Config\serviceAccountFile.json
  • X4db URL, for example:
    x4db://1/ExampleProcess/GoogleCloud/Config/serviceAccountFile.json
  • Xstore URL, for example:
    xstore://ExampleProcess/GoogleCloud/Config/serviceAccountFile.json
projectID

ID of the project.

Possible values:

  • ID of Google Cloud project. Can be checked in the Google Cloud console.
instanceID

ID of the instance

Possible values :

  • ID of Google Cloud instance. Can be checked in the Google Cloud console.

Please follow this link for more information on how to create an instance in Google BigTable.

tableName

Name of the table. Required parameter for all operations.

columnFamilyName

Family name of the columns. Group columns in a unique Column family name.

rowKeyRow key of the row. Row identifier to put or search rows.
columnName

Name of the column. Used to delete a specific column in a row with Delete operation.

startRow

Specify a single row to start scanning.

Possible values: rowKey

stopRow

Specify a single row to stop scanning, this row will not be shown in the scan results.

Possible values: rowKey

scanCached

Modify scanner caching for just this scan, If caching is not set, the caching value of the hosting table is used.

Possible values: Integer

scanResultSize

Specify a maximum result size

Possible values: Integer

When both parameters, scanCached and scanResultSize, are set, single server requests are limited by either number of rows or maximum result size, whichever limit comes first.


scanTimestamp

Retrieve columns with a specific timestamp only.

Possible values: Integer

scanMaxVersions

Limit the number of versions of each column to be returned

Possible values: Integer

scanCacheBlocks

Explicitly disable server-side block caching for this scan

Possible values: true / false

Status values

1

The operation was executed successfully.

0

The operation is not complete, but no error occurred.


-1An error occurred during the operation's execution.

Input

  • For PutRow operation, the adapter expects XML with this structure:

    XML
    <ListRows>
    	<row rowKey="IT employee">
    		<rowAttribute1 columnName="ID" value="00001" />
    		<rowAttribute2 columnName="Address" value="Karlsruhe" />
    		<rowAttribute3 columnName="Name" value="Paolo" />
    		<rowAttribute4 columnName="Surname" value="Green" />
    		<rowAttribute5 columnName="Phone" value="552-968-369" />
    		<rowAttribute6 columnName="Bonus" value="Yes" />
    		<rowAttribute7 columnName="Profession" value="System Administrator" />
    	</row>
    </ListRows>

    Element names are not restricted, but attributes columnName, value and rowKey are required.

Output

Depending on the executed operation, the adapter returns different kinds of documents.

  • GetRow operation:

    XML
    <Result>
    	<Row rowKey="DEV employee">
    		<RowColumn ColumnName="Address" value="Ettlingen" />
    <RowColumn ColumnName="Frameworks" value="Java-Hibernate" />
    		<RowColumn ColumnName="ID" value="00003" />
    		<RowColumn ColumnName="Name" value="Lorena" />
    	</Row>
    </Result>
  • Scan operation:

    XML
    <Column FamilyName="FamilyNamePrimary">
    	<Row rowKey="CLean employee">
    		<Attribute ColumnName="Address" value="Ettlingen" timeStamp="1544603282081" />
    		<Attribute ColumnName="ID" value="00005" timeStamp="1544603282081" />
    	</Row>
    	<Row rowKey="DEV employee">
    		<Attribute ColumnName="Address" value="Ettlingen" timeStamp="1544603280340" />
    		<Attribute ColumnName="Frameworks" value="Java-Hibernate" timeStamp="1544603280340" />
    		<Attribute ColumnName="ID" value="00003" timeStamp="1544603280340" />
    		<Attribute ColumnName="Name" value="Lorena" timeStamp="1544603280340" />
    	</Row>
    	<Row rowKey="HR employee">
    		<Attribute ColumnName="ID" value="00002" timeStamp="1544603278048" />
    		<Attribute ColumnName="Name" value="Francis Ernesto" timeStamp="1544603278048" />
    		<Attribute ColumnName="Surname" value="Underwood" timeStamp="1544603278048" />
    	</Row>
    	<Row rowKey="IT employee">
    		<Attribute ColumnName="Address" value="Karlsruhe" timeStamp="1544603276625" />
    		<Attribute ColumnName="Bonus" value="Yes" timeStamp="1544603276625" />
    		<Attribute ColumnName="ID" value="00001" timeStamp="1544603276625" />
    		<Attribute ColumnName="Name" value="Paolo" timeStamp="1544603276625" />
    		<Attribute ColumnName="Phone" value="552-968-369" timeStamp="1544603276625" />
    	<Attribute ColumnName="Profession" value="System Administrator" timeStamp="1544603276625" />
    		<Attribute ColumnName="Surname" value="Green" timeStamp="1544603276625" />
    	</Row>
    	<Row rowKey="Marketing employee">
    		<Attribute ColumnName="ID" value="00004" timeStamp="1544603281175" />
    	<Attribute ColumnName="Name" value="Petra" timeStamp="1544603281175" />
    	</Row>
    	<Row rowKey="Security employee">
    		<Attribute ColumnName="Address" value="Ettlingen/Build1" timeStamp="1544603283155" />
    		<Attribute ColumnName="ID" value="00006" timeStamp="1544603283155" />
    		<Attribute ColumnName="Name" value="Robert" timeStamp="1544603283155" />
    		<Attribute ColumnName="Permisions" value="Day-Night" timeStamp="1544603283155" />
    	</Row>
    </Column>
  • ListTable operation:

    XML
    <?xml version="1.0" encoding="UTF-8" ?>
    <Result>
    	<ListTables>
    	<Table name="TestTable" />
    	</ListTables>
    </Result>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.