Delete Thousands of Keys in a Segment
Overview
Use this script to delete segment keys in chunks when a segment contains thousands of user keys.
Prerequisites
- Install the Python Admin API Wrapper.
- You've created an Admin API key from the Split UI.
Configuration
Before running the script, update the following variables in the code:
ADMIN API KEY
: Your Split Admin API key.workspaceName
: The name of the workspace. If you only have one workspace, use the Default workspace.environmentName
: The name of the environment.segmentName
: The name of the segment.
Run this script using Python 3 from your local machine or preferred development environment.
from splitapiclient.main import get_client
#############################################
workspaceName = "Defaults"
environmentName = "Production"
segmentName = "employees"
#############################################
client = get_client({'apikey': 'ADMIN API KEY'})
ws = client.workspaces.find(workspaceName)
env = client.environments.find(environmentName, ws.id)
segDef = client.segment_definitions.find(segmentName, env.id, ws.id)
segKeys = segDef.get_keys()
cnt=0
keys = []
for key in segKeys:
cnt = cnt + 1
if cnt > 90:
final = {"keys": keys, "comment":"removing 1k keys"}
segDef.remove_keys(final)
keys = []
cnt = 0
keys.append(key)
if cnt < 90:
final = {"keys": keys, "comment":"removing 1k keys"}
segDef.remove_keys(final)