Skip to content

Instantly share code, notes, and snippets.

@dlebrero
Created August 19, 2019 16:32
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlebrero/afc9a4388e53a0d6c9d65ef0b8237e41 to your computer and use it in GitHub Desktop.
Save dlebrero/afc9a4388e53a0d6c9d65ef0b8237e41 to your computer and use it in GitHub Desktop.
Delete all entities of a kind from GAE
#!/usr/bin/env bash
project=$1
bucket=$(echo $project | tr -d "-")
gcloud config set project ${project}
gsutil rm -r gs://tmpdelete${bucket}/
gsutil mb gs://tmpdelete${bucket}/
if gcloud services list | grep DataF; then
echo "Dataflow API was enabled"
DISABLE_API=no
else
echo "Enabling dataflow api"
DISABLE_API=yes
gcloud services enable dataflow.googleapis.com
sleep 60
fi
gcloud dataflow jobs run ddeletequeue \
--gcs-location gs://dataflow-templates/latest/Datastore_to_Datastore_Delete \
--parameters \
datastoreReadGqlQuery="SELECT * from EventQueue",\
datastoreReadProjectId=${project},\
datastoreDeleteProjectId=${project}
until gcloud dataflow jobs list | grep ddeletequeue | grep Done; do
gcloud dataflow jobs list | grep ddeletequeue;
sleep 600;
done
gsutil rm -r gs://tmpdelete${bucket}/
if [ $DISABLE_API == "yes" ]; then
echo "Disabling Dataflow API"
gcloud services disable dataflow.googleapis.com
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment