Skip to content

Export Metadata Tutorial

For unstructured data, we discover information directly about and inside the files. For example, we can see that there are phone numbers within a file, or that a file matches a machine learning model for an invoice.

For structured data we discover data about the data inside of the columns as well as the columns themselves. For example we would know that a database Users has a column named State and that column contains values of the type US State Abbreviation. This means that if we want information about specific columns we will need to perform an extra API request. The below API request shows how to retrieve the information about a specific table. The column parameter follows the format of Data Source Name.schema name.table name.

For unstructured data sources, you can use the information returned from the top level catalog call or use the attributes call to get more detailed information like below:

By using these three API calls you can find out information about any element being scanned by your BigID system.

# Metadata Export Tutorial
import requests
import json
base_url = "https://developer.bigid.com/api/v1"
headers = {
"Authorization": "Bearer SAMPLE",
"Content-Type": "application/json"
}
# 1. Get all objects in the catalog
url = f"{base_url}/data-catalog"
res = requests.get(url, headers=headers)
data = res.json()
print(json.dumps(data, indent=2))
# 2. Retrieve information about a specific table
url = f"{base_url}/data-catalog/object-details/columns?object_name=DataSourceName.schemaName.tableName" # Replace "DataSourceName.schemaName.tableName with desired table information"
res = requests.get(url, headers=headers)
data = res.json()
print(json.dumps(data, indent=2))
# 3. Retrieve information about unstructured data source
url = f"{base_url}/data-catalog/object-details/attributes?object_name=Sales%20Drive.devops%40bigiddemo.com%2FEducation%2FProspects4-Restricted.docx" # Example using attribute object_name to fetch detailed information
res = requests.get(url, headers=headers)
data = res.json()
print(json.dumps(data, indent=2))
// Metadata Export Tutorial
const baseUrl = "https://developer.bigid.com/api/v1";
const headers = {
"Authorization": "Bearer SAMPLE", // Replace with your token
"Content-Type": "application/json"
};
// 1. Get all catalog objects
async function getAllCatalogObjects() {
const res = await fetch(`${baseUrl}/data-catalog`, { headers });
const data = await res.json();
console.log("All Catalog Objects:\n", JSON.stringify(data, null, 2));
return data;
}
// 2. Retrieve information about a specific structured table
async function getTableMetadata() {
const tableFQN = "DataSourceName.schemaName.tableName"; // Replace this with your actual table name
const url = `${baseUrl}/data-catalog/object-details/columns?object_name=${encodeURIComponent(tableFQN)}`;
console.log(`Fetching metadata for table: ${tableFQN}`);
const res = await fetch(url, { headers });
const data = await res.json();
console.log("Structured Table Metadata:\n", JSON.stringify(data, null, 2));
return data;
}
// 3. Retrieve info about an unstructured object
async function getUnstructuredAttributes() {
const objectFQN = "Sales [email protected]/Education/Prospects4-Restricted.docx"; // Replace as needed
const url = `${baseUrl}/data-catalog/object-details/attributes?object_name=${encodeURIComponent(objectFQN)}`;
console.log(`Fetching metadata for unstructured object: ${objectFQN}`);
const res = await fetch(url, { headers });
const data = await res.json();
console.log("Unstructured Object Metadata:\n", JSON.stringify(data, null, 2));
return data;
}
// Run all 3 steps
(async () => {
await getAllCatalogObjects();
await getTableMetadata();
await getUnstructuredAttributes();
})();