snippets_js
Integration
New integration from credential
const googleBigTableClient = yepcode.integration.googleBigTable("credential-slug");
New integration from plain authentication data
const { Bigtable } = require("@google-cloud/bigtable");
const googleBigTableCredentials = {
projectId: "YepCode",
credentials: {
type: "service_account",
project_id: "yepcode",
private_key_id: "XXXXX",
private_key: "-----BEGIN PRIVATE KEY-----\nx\n-----END PRIVATE KEY-----",
client_email: "yepcode@example.org",
client_id: "1234567890",
auth_uri: "https://example.org",
token_uri: "https://example.org",
auth_provider_x509_cert_url: "https://example.org",
client_x509_cert_url: "https://example.org",
}
};
const googleBigTableClient = new Bigtable(googleBigTableCredentials);
Write a Row
Simple
try {
const instance = bigtable.instance("instance-id");
const table = instance.table("table-id");
const rowToInsert = {
key: "id#4c410523#20190501",
data: {
stats_summary: {
kind: "human",
nature: "agressive",
constitution: "strong",
},
},
};
await table.insert(rowToInsert);
console.log(`Successfully wrote row ${rowToInsert.key}`);
} catch (error) {
console.error(error);
}
Multiple
try {
const instance = bigtable.instance("instance-id");
const table = instance.table("table-id");
const rowsToInsert = [
{
key: "id#7x410521#90190501",
data: {
stats_summary: {
kind: "fremen",
nature: "peaceful",
constitution: "strong",
},
},
},
{
key: "id#4c410523#20190501",
data: {
stats_summary: {
kind: "human",
nature: "agressive",
constitution: "strong",
},
},
},
];
await table.insert(rowsToInsert);
console.log(
`Successfully wrote 2 rows: ${rowsToInsert[0].key} and ${rowsToInsert[1].key}`
);
} catch (error) {
console.error(error);
}
Conditional
try {
const instance = bigtable.instance("instance-id");
const table = instance.table("table-id");
const row = table.row("row-id");
const filter = [{ column: "stats_summary", value: { nature: "agressive" } }];
const config = {
onMatch: [
{ method: "insert", data: { stats_summary: { dangerous: true } } },
],
};
await row.filter(filter, config);
console.log("Successfully updated row");
} catch (error) {
console.error(error);
}
Read a Row
Simple
try {
const instance = bigtable.instance("instance-id");
const table = instance.table("table-id");
const [row] = await table.row("row-id").get();
console.log(row);
} catch (error) {
console.error(error);
}
Multiple
try {
const instance = bigtable.instance("instance-id");
const table = instance.table("table-id");
const [rows] = await table.getRows({ keys: ["row-id"] });
rows.forEach((row) => console.log(row.id, row.data));
} catch (error) {
console.error(error);
}
Conditional
try {
const instance = bigtable.instance("instance-id");
const table = instance.table("table-id");
const filter = [{ column: "stats_summary", value: { nature: "agressive" } }];
const readStream = await table.createReadStream({ filter });
readStream.on("error", (err) => {
console.log(err);
});
readStream.on("data", (row) => {
console.log(row.id, row.data);
});
readStream.on("end", () => {});
} catch (error) {
console.error(error);
}