ManagedkdbInsights/boto/query_env.ipynb (233 lines of code) (raw):
{
"cells": [
{
"cell_type": "markdown",
"id": "3d472157-33ec-445d-8fa9-cec3c039b2e3",
"metadata": {},
"source": [
"# Query Environments\n",
"This notebook demonstrates the use of the list and get functions on Managed KX Resources.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1e2e296f-41b8-415a-a3a8-19a670f5436d",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import boto3\n",
"import json\n",
"import datetime\n",
"\n",
"from managed_kx import *\n",
"from env import *"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a9fb2e89-db6e-42a2-b43e-0c1c780ddcce",
"metadata": {},
"outputs": [],
"source": [
"# Using credentials and create service client\n",
"session = boto3.Session()\n",
"\n",
"# create finspace client\n",
"client = session.client(service_name='finspace')"
]
},
{
"cell_type": "markdown",
"id": "3a289f8e-fc4f-408a-a3a0-3f80f6700737",
"metadata": {
"tags": []
},
"source": [
"# Environment"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b62b598c-1f7e-4724-b63f-088de8fdf772",
"metadata": {},
"outputs": [],
"source": [
"resp = get_kx_environment(client)\n",
"resp.pop('ResponseMetadata', None)\n",
"\n",
"infra = resp.get('dedicatedServiceAccountId', \"\")\n",
"print(f\"ID: {resp['environmentId']} ({resp['status']}): {resp['name']} ({infra})\")"
]
},
{
"cell_type": "markdown",
"id": "1e574d0f-90db-4aa3-894d-258ebd83f714",
"metadata": {},
"source": [
"# Databases and Changesets"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a3f7eea9-ce40-47b4-b870-21861bc9b9b0",
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" dbs = list_kx_databases(client, environmentId=ENV_ID)\n",
"except:\n",
" dbs=[]\n",
"\n",
"print(f\"Environment: {ENV_ID}: Databases found: {len(dbs)}\")\n",
"print()\n",
"\n",
"if len(dbs) > 0:\n",
" # Sort databases by name\n",
" dbs = sorted(dbs, key=lambda d: d['databaseName']) \n",
"\n",
" for d in dbs:\n",
" db_name = d['databaseName']\n",
" c_set_list = []\n",
" note_str = \"\"\n",
"\n",
" db=client.get_kx_database(environmentId=ENV_ID, databaseName=db_name)\n",
" db.pop('ResponseMetadata', None)\n",
"\n",
" try:\n",
" resp = client.list_kx_changesets(environmentId=ENV_ID, databaseName=db_name)\n",
" c_set_list = resp['kxChangesets']\n",
" except:\n",
" note_str = \"<<Could not get changesets>>\"\n",
" break\n",
"\n",
" print(\"=\"*100) \n",
" print(f\"Database: {db_name}, Changesets: {len(c_set_list)} {note_str}\")\n",
" print(f\"{db.get('description', '')}\")\n",
" print(f\"Bytes: {db['numBytes']:,} Changesets: {db['numChangesets']:,} Files: {db['numFiles']:,}\")\n",
" print(\"-\"*100) \n",
"\n",
" c_set_list = sorted(c_set_list, key=lambda d: d['createdTimestamp']) \n",
"\n",
" for c in c_set_list:\n",
" c_set_id = c['changesetId']\n",
" print(f\"Changeset ({c['status']}): {c_set_id}: Created: {c['createdTimestamp']}\")\n",
" c_rqs = client.get_kx_changeset(environmentId=ENV_ID, databaseName=db_name, changesetId=c_set_id)['changeRequests']\n",
"\n",
" chs_pdf = pd.DataFrame.from_dict(c_rqs)# .style.hide(axis='index')\n",
" display(chs_pdf)\n",
" print(\"\")\n",
" \n",
" print(\"=\"*100)"
]
},
{
"cell_type": "markdown",
"id": "fb7bfd30-1f10-4556-9327-742d138cacf0",
"metadata": {},
"source": [
"# Clusters"
]
},
{
"cell_type": "markdown",
"id": "6001b7b6-85ab-4e98-bed5-743eef270739",
"metadata": {},
"source": [
"## Type: HDB"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e1d67529-f873-4c9d-8ad1-0b5fcca4c2fd",
"metadata": {},
"outputs": [],
"source": [
"cdf = get_clusters(client, environmentId=ENV_ID, clusterType=\"HDB\")\n",
"display(cdf)"
]
},
{
"cell_type": "markdown",
"id": "05711ecc-2217-43a5-828a-ed0ce8d406b2",
"metadata": {},
"source": [
"## Type: RDB"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9d0102e5-3c45-46a0-9fc9-32f3a9fc2f50",
"metadata": {},
"outputs": [],
"source": [
"cdf = get_clusters(client, environmentId=ENV_ID, clusterType=\"RDB\")\n",
"display(cdf)"
]
},
{
"cell_type": "markdown",
"id": "6e0886a0-cede-42ec-86f4-b8c57896a559",
"metadata": {},
"source": [
"## Type: GATEWAY"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "22ba6239-abf1-4c57-a1ff-b51e5f6c18d4",
"metadata": {},
"outputs": [],
"source": [
"cdf = get_clusters(client, environmentId=ENV_ID, clusterType=\"GATEWAY\")\n",
"display(cdf)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fbf47c15-7a94-42b1-a5e5-8f396a296fa7",
"metadata": {},
"outputs": [],
"source": [
"print( f\"Last Run: {datetime.datetime.now()}\" )"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "841aca0c-f917-466e-85ea-97cad04dabe1",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "conda_python3",
"language": "python",
"name": "conda_python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.15"
}
},
"nbformat": 4,
"nbformat_minor": 5
}