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.
Code Samples
Section titled “Code Samples”Python
Section titled “Python”# Metadata Export Tutorialimport requestsimport json
base_url = "https://developer.bigid.com/api/v1"headers = { "Authorization": "Bearer SAMPLE", "Content-Type": "application/json"}
# 1. Get all objects in the catalogurl = 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 tableurl = 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 sourceurl = 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 informationres = requests.get(url, headers=headers)data = res.json()print(json.dumps(data, indent=2))JavaScript
Section titled “JavaScript”// Metadata Export Tutorialconst baseUrl = "https://developer.bigid.com/api/v1";const headers = { "Authorization": "Bearer SAMPLE", // Replace with your token "Content-Type": "application/json"};
// 1. Get all catalog objectsasync 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 tableasync 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 objectasync 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();})();All rights reserved.