Wie löscht man bei Elasticsearch alle Snapshots per Python-Skript?

von Peter Soth

In einem aktuellen Projekt, in dem wir für ein weiteres Land das Digital-Asset-Management (DAM) System ausrollen wollten, ging es genau um dieses Thema.

Das DAM System benutzt hierbei Elasticsearch - in unserem Fall in der Version 2.4 - als NoSQL Datenbank und für die Suche über die Metadaten der Assets.

Ein Studium der Dokumentation ergab, dass man per REST API immer nur einen Snapshot löschen kann und etwaig vorhandene Plug-Ins konnten wir nicht installieren, da das DAM in einem Docker-Container läuft.

Zuerst muss man mit diesem Befehl die Namen aller Snapshot-Repositories ausgeben :

curl localhost:9200/_snapshot/_all?pretty=true

Und danach führt man folgendes Python-Skript aus, wobei --snapshot_repo-name-- mit dem Ergebnis der obigen Abfrage ersetzt wird:

import urllib2, json

url = "http://localhost:9200/_snapshot/--snapshot_repo-name--/_all"
response = urllib2.urlopen(url)
json_resp = json.loads(response.read())
for json_item in json_resp["snapshots"]:
    del_url = "http://localhost:9200/_snapshot/--snapshot_repo-name--/%s" % (json_item["snapshot"])
    print(del_url)
    request = urllib2.Request(del_url)
    request.get_method = lambda: 'DELETE'
    response = urllib2.urlopen(request)

Das Skript basiert auf Python 2.7, muss keine Module installieren und lief deshalb selbst innerhalb des Docker-Containers.

Zurück

© 2006-2024 exensio GmbH
Einstellungen gespeichert
Datenschutzeinstellungen

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.

Sie können Ihre Einwilligung jederzeit ändern oder widerrufen, indem Sie auf den Link in der Datenschutzerklärung klicken.

Zu den gesetzlichen Rechenschaftspflichten gehört die Einwilligung (Opt-In) zu protokollieren und archivieren. Aus diesem Grund wird Ihre Opt-In Entscheidung in eine LOG-Datei geschrieben. In dieser Datei werden folgende Daten gespeichert:

 

  • IP-Adresse des Besuchers
  • Vom Besucher gewählte Datenschutzeinstellung (Privacy Level)
  • Datum und Zeit des Speicherns
  • Domain
You are using an outdated browser. The website may not be displayed correctly. Close