Platform Configuration
Tutorial
Platform Configuration
Configure TTLs, limits, and platform behavior
What You'll Learn
- TTL Settings — Configure instance/snapshot TTLs with ISO 8601 durations
- Concurrency Limits — Set per-analyst and cluster-wide caps
- Maintenance Mode — Enable/disable platform maintenance windows
- Export Config — Control export duration and behaviour
# Cell 1 — ParametersUSERNAME = "_FILL_ME_IN_" # Set your email before running# Cell 2 — Connectfrom graph_olap import GraphOLAPClientclient = GraphOLAPClient(username=USERNAME)
# Cell 3 — Provisionfrom notebook_setup import provisionpersonas, conn = provision(USERNAME)analyst = personas["analyst"]admin = personas["admin"]ops = personas["ops"]
client = opsprint(f"Connected to: {ops._config.api_url}")
1
TTL Configuration
Automatic cleanup with ISO 8601 durations
# View current lifecycle settingslifecycle = client.ops.get_lifecycle_config()print(f"Current instance TTL: {lifecycle.instance.default_ttl}")
# Update instance TTL to 24 hours (ISO 8601 duration format)# Common formats: PT1H (1 hour), PT24H (24 hours), P7D (7 days)client.ops.update_lifecycle_config( instance={"default_ttl": "PT24H"})
# Verify the changelifecycle = client.ops.get_lifecycle_config()print(f"Updated instance TTL: {lifecycle.instance.default_ttl}")
2
Concurrency Limits
Per-analyst and cluster-wide caps
# View current concurrency limitsconcurrency = client.ops.get_concurrency_config()print(f"Per analyst: {concurrency.per_analyst}")print(f"Cluster total: {concurrency.cluster_total}")
# Update concurrency limitsclient.ops.update_concurrency_config( per_analyst=10, cluster_total=200,)
# Verifyconcurrency = client.ops.get_concurrency_config()print(f"\nUpdated per analyst: {concurrency.per_analyst}")print(f"Updated cluster total: {concurrency.cluster_total}")
3
Maintenance Mode
Enable/disable scheduled maintenance windows
# Check current maintenance mode statusmaint = client.ops.get_maintenance_mode()print(f"Maintenance mode: {'ENABLED' if maint.enabled else 'DISABLED'}")if maint.enabled: print(f"Message: {maint.message}")
# Enable maintenance mode (blocks new instance creation)client.ops.set_maintenance_mode( enabled=True, message="Scheduled maintenance — upgrading database cluster",)print("\nMaintenance mode enabled.")
# Disable maintenance modeclient.ops.set_maintenance_mode(enabled=False, message="")print("Maintenance mode disabled.")
4
Export Configuration
Control export duration limits
# View current export settingsexport = client.ops.get_export_config()print(f"Max export duration: {export.max_duration_seconds}s")
# Update max export duration to 2 hoursclient.ops.update_export_config(max_duration_seconds=7200)
# Verifyexport = client.ops.get_export_config()print(f"Updated max duration: {export.max_duration_seconds}s")Key Takeaways
- TTLs use ISO 8601 duration format (
PT24H,P7D) viaupdate_lifecycle_config() - Concurrency is split into
per_analystandcluster_totalviaupdate_concurrency_config() set_maintenance_mode()blocks new instance creation during maintenance windowsupdate_export_config()controls max export duration in seconds- All configuration changes require ops-level permissions and take effect immediately