in vandelay-bigtable/src/main/java/com/spotify/api/vandelay/bigtable/exports/VandelayBigTableExporter.java [206:238]
private void getBigTableTableInformation(
final BigtableTableAdminClient tableAdminClient, final Builder builder) {
final List<String> tables = tableAdminClient.listTables();
if (!tables.isEmpty()) {
final Map<String, BigTableTable> tableTables = new HashMap<>();
final Map<String, IAMPolicy> tablePolicies = new HashMap<>();
for (final var tableId : tables) {
tableTables.put(
tableId,
new BigTableTableMapperFunction()
.convertTo(tableAdminClient.getTable(tableId))
.orElse(null));
tablePolicies.put(
tableId,
new IAMPolicyMapperFunction()
.convertTo(tableAdminClient.getIamPolicy(tableId))
.orElse(null));
}
tableTables.values().removeIf(Objects::isNull);
tablePolicies.values().removeIf(Objects::isNull);
builder.setTables(tableTables);
logger.info("Set " + tableTables.size() + " tables");
builder.setTablePolicies(tablePolicies);
logger.info("Set " + tablePolicies.size() + " table policies");
} else {
logger.info("No tables found");
}
}