Auf dieser Seite wird beschrieben, wie Sie in Cloud Storage Objekte aus Buckets löschen. Eine Übersicht über die Methoden zum Löschen von Objekten finden Sie unter Objekte löschen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für den Bucket zuzuweisen, der die zu löschenden Objekte enthält, um die Berechtigungen zu erhalten, die Sie zum Löschen benötigen:
-
Objekte mit der Google Cloud CLI oder REST APIs löschen:
Storage Object User (
roles/storage.objectUser) -
Objekte über die Google Cloud Konsole löschen:
Storage-Administrator (
roles/storage.admin) -
Alternativ können Sie Objekte über die Google Cloud -Konsole löschen:
Betrachter (
roles/viewer) und Storage-Objekt-Nutzer (roles/storage.objectUser)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Löschen von Objekten erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Löschen von Objekten erforderlich:
-
Objekte löschen:
storage.objects.delete -
So listen Sie Objekte mit der Google Cloud Console oder mit dem Flag
--recursiveoder Platzhaltern in der Google Cloud CLI auf:storage.objects.list -
So listen Sie Buckets über die Google Cloud Console auf:
storage.buckets.list
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Einzelnes Objekt löschen
In diesem Abschnitt wird beschrieben, wie Sie jeweils ein Objekt löschen.
So löschen Sie ein einzelnes Objekt:
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Liste der Buckets auf den Bucket, der die Objekte enthält, die Sie löschen möchten.
Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.
Wechseln Sie zu dem Objekt. Dieses befindet sich möglicherweise in einem Ordner.
Klicken Sie auf das Kästchen neben dem Objekt, das Sie löschen möchten.
Klicken Sie auf Löschen und dann im angezeigten Dialogfeld noch einmal auf Löschen.
Befehlszeile
Verwenden Sie den Google Cloud CLI-Befehl gcloud storage rm:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
Dabei gilt:
BUCKET_NAMEist der Name des Buckets, der das zu löschende Objekt enthält. Beispiel:my-bucket.OBJECT_NAMEist der Name des Objekts, das Sie löschen möchten. Beispiel:pets/dog.png.
Wenn der Vorgang erfolgreich war, sieht die Antwort in etwa so aus:
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage C#.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage Go.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage Java.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage Node.js.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage PHP.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage Python.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud Storage Ruby.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Rust
REST APIs
JSON-API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
curl, um die JSON API mit einerDELETE-Anfrage aufzurufen:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Dabei gilt:
BUCKET_NAMEist der Name des Buckets, der das zu löschende Objekt enthält. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, das Sie löschen möchten. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
XML API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
curl, um die XML API mit einerDELETE Object-Anfrage aufzurufen:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dabei gilt:
BUCKET_NAMEist der Name des Buckets, der das zu löschende Objekt enthält. Beispiel:my-bucket.OBJECT_NAMEist der URL-codierte Name des Objekts, das Sie löschen möchten. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png.
Objekte im Bulk löschen
In diesem Abschnitt wird beschrieben, wie Sie Objekte im Bulk löschen, indem Sie sie in derGoogle Cloud -Konsole auswählen, Objekte mit einem gemeinsamen Präfix mit Befehlszeilentools löschen oder eine Liste von Objekten in API- oder Clientbibliotheksanfragen angeben.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Liste der Buckets auf den Bucket, der die Objekte enthält, die Sie löschen möchten.
Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.
Wechseln Sie zu den Objekten. Diese befinden sich möglicherweise in einem Ordner.
Klicken Sie auf das Kästchen für jedes Objekt, das Sie löschen möchten.
Sie können das Kästchen für einen Ordner auswählen, wodurch alle in diesem Ordner enthaltenen Objekte gelöscht werden.
Klicken Sie auf Löschen und dann im angezeigten Dialogfeld noch einmal auf Löschen.
Wenn Sie viele Objekte gleichzeitig löschen, können Sie den Löschfortschritt verfolgen. Klicken Sie dazu in der Google Cloud Console auf das Symbol Benachrichtigungen. DieGoogle Cloud Console kann im Hintergrund bis zu mehrere Millionen Objekte im Bulk löschen.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Google Cloud CLI
Wenn Sie Gruppen von Objekten mit demselben Präfix löschen möchten, z. B. Objekte, deren Namen eine Ordnerstruktur nachahmen, verwenden Sie das Flag --recursive mit gcloud storage rm:
gcloud storage rm --recursive gs://BUCKET_NAME/PREFIX
Wobei:
BUCKET_NAMEist der Name des Buckets. Beispiel:my-bucket.PREFIXist das gemeinsame Präfix der Objekte, die Sie löschen möchten. Beispiel:pets/.
Amazon S3-Befehlszeile
Wenn Sie mehrere Objekte in Cloud Storage mit der Amazon S3-Befehlszeile löschen möchten, verwenden Sie den Befehl aws s3api delete-objects. Sie müssen die Anfrage an die XML API zum Löschen mehrerer Objekte von Cloud Storage weiterleiten, indem Sie das Flag --endpoint-url auf storage.googleapis.com setzen. Ausführliche Parameterdefinitionen und Informationen zum Verhalten der delete-objects-API finden Sie in der Amazon S3-CLI-Referenzdokumentation zu „delete-objects“.
Clientbibliotheken
Cloud Storage unterstützt die XML API zum Löschen mehrerer Objekte über die Amazon S3-kompatible Schnittstelle.
Wenn Sie Amazon S3-kompatible Clientbibliotheken für das Löschen von Massenobjekten verwenden möchten, richten Sie Ihre Anfrage an den Endpunkt Google Cloud , indem Sie die Endpunkt-URL in der Clientkonfiguration auf https://storage.googleapis.com festlegen. Dieser Ansatz kann hilfreich sein, wenn Sie eine der folgenden Aufgaben ausführen:
- Vorhandene Codebases oder Tools nutzen, die bereits für Amazon S3 entwickelt wurden.
- Konsistenz in Multi-Cloud-Umgebungen mit Amazon S3 und Cloud Storage aufrechterhalten
Das folgende Beispiel zeigt, wie ein Client mit einer Boto3-Bibliothek initialisiert wird, um mit Cloud Storage zu interagieren:
import boto3
def main():
# Initialize the S3 client to point to the Google Cloud Storage endpoint
client = boto3.client(
service_name='s3',
endpoint_url='https://storage.googleapis.com',
aws_access_key_id='YOUR_ACCESS_ID',
aws_secret_access_key='YOUR_SECRET',
)
# Perform delete operations as defined in the library's documentation
# response = client.delete_objects(Bucket='BUCKET_NAME', Delete={'Objects': [...]})
Spezifische Methodensignaturen und Parameterdefinitionen finden Sie in der delete_objects-Dokumentation zu Boto3.
XML API
So löschen Sie mit der XML API bis zu 1.000 Objekte in einer einzigen Anfrage:
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Erstellen Sie ein XML-Dokument, in dem die zu löschenden Objekte angegeben sind.
Eine vollständige Liste der Einstellungen finden Sie in der XML API-Referenzdokumentation unter Mehrere Objekte löschen. Die allgemeinen Einstellungen, die Sie in Ihre XML-Datei aufnehmen sollten, sind:
<Delete> <Object> <Key>OBJECT_NAME</Key> <VersionId>VERSION_ID</VersionId> </Object> ... <Quiet>QUIET_RESPONSE_BOOLEAN</Quiet> </Delete>Wobei:
OBJECT_NAMEist der URL-codierte Name des Objekts. Beispiel:pets/dog.png, URL-codiert alspets%2Fdog.png. Sie können bis zu 1.000 Objekte in der XML-Datei angeben.VERSION_IDist die Versions-ID für das Objekt. Beispiel:11111- Mit
QUIET_RESPONSE_BOOLEANwird die Ausführlichkeit der API-Antwort gesteuert:- Legen Sie
Falsefür eine ausführliche Antwort fest. Die Antwort enthält Details zu jedem Objekt, unabhängig davon, ob es erfolgreich gelöscht wurde oder nicht. Der Vorgang zum Löschen mehrerer Objekte mit der XML API ist nicht atomar. Wenn eine Anfrage zu teilweisen Fehlern führt, werden einige Objekte möglicherweise erfolgreich gelöscht, andere jedoch nicht. Wir empfehlen daher, die ausführliche Antwort zu verwenden, um alle Objektlöschungen zu identifizieren. Wenn Sie Audit-Logs zum Datenzugriff aktiviert haben, können Sie auch Audit-Logs mit Fehlerdetails aufrufen. - Legen Sie
Truefür eine stille Antwort fest. Der Antworttext enthält keine Informationen zu den Objekten, die erfolgreich gelöscht wurden.
- Legen Sie
Verwenden Sie
curl, um einePOST-Bucket-Anfrage mit dem Abfrageparameter?deleteund Ihrer XML-Datei an die XML API zu senden:curl -X POST --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?delete"
Wobei:
XML_FILE_NAMEist der Name der XML-Datei, die Sie erstellt haben.BUCKET_NAMEist der Name des Buckets, der die zu löschenden Objekte enthält.Wenn der Modus
Quietdeaktiviert ist, könnte eine ausführliche Antwort so aussehen:<DeleteResult> <Deleted> <Key>images/photo1.jpg</Key> <VersionId>11111</VersionId> </Deleted> <Deleted> <Key>documents/report.pdf</Key> <VersionId>22222</VersionId> </Deleted> <Error> <Code>AccessDenied</Code> <Key>private/financial_data.xlsx</Key> <Message>Access Denied. You don't have permission to delete this object.</Message> <VersionId>33333</VersionId> </Error> </DeleteResult>
Wenn der Modus
Quietaktiviert ist, werden in der Antwort nur Objekte aufgeführt, die nicht gelöscht werden konnten. Wenn alle Objekte erfolgreich gelöscht wurden, wird ein leeres<DeleteResult/>-Tag zurückgegeben. Im Folgenden sehen Sie ein Beispiel für eine stille Antwort, bei der ein Fehler aufgetreten ist:<DeleteResult> <Error> <Code>AccessDenied</Code> <Key>private/financial_data.xlsx</Key> <Message>Access Denied. You don't have permission to delete this object.</Message> <VersionId>33333</VersionId> </Error> </DeleteResult>
Bis zu Milliarden von Objekten löschen
Wenn Sie Millionen oder Milliarden von Objekten mit einem einzigen Job zum Löschen von Objekten löschen möchten, verwenden Sie Storage-Batchvorgänge. Geben Sie zum Erstellen eines Jobs die zu löschenden Objekte an. Dazu können Sie entweder eine Liste von Objekten in einer Manifestdatei oder Objektpräfixe verwenden. Nachdem Sie die Objektliste angegeben haben, erstellen Sie einen Batchvorgangsjob, um die Objekte zu löschen.
Objekte mithilfe von Regeln zur Verwaltung des Objektlebenszyklus automatisch löschen
Wenn Objekte automatisch gelöscht werden sollen, wenn sie von Ihnen angegebene Kriterien wie Alter oder Speicherklasse erfüllen, verwenden Sie die Verwaltung des Objektlebenszyklus. Sie können beispielsweise eine Lebenszyklusregel festlegen, um Protokolle zu löschen, die älter als 30 Tage sind.
Löschanfragen für Objekte mit der JSON API im Batchverfahren senden
Wenn Sie viele Objekte mit der JSON API löschen, können Sie die Anzahl der erforderlichen HTTP-Verbindungen reduzieren, indem Sie JSON API-Batchanfragen verwenden. Sie können bis zu 100 API-Aufrufe in einer einzigen HTTP-Anfrage zusammenfassen, um den Netzwerkaufwand zu reduzieren.
Nächste Schritte
- Vorläufig gelöschte Objekte wiederherstellen
- Wenn Sie die Objektversionsverwaltung verwenden, sollten Sie wissen, dass das Löschen eines Objekts dazu führen kann, dass es nicht mehr aktuell ist, anstatt es endgültig zu löschen. Informationen zum Verwalten oder endgültigen Löschen von nicht aktuellen Versionen
- Konfigurieren Sie die Verwaltung des Objektlebenszyklus, um das Löschen von Objekten in Zukunft zu automatisieren.
- Bucket löschen, wenn Sie ihn nicht mehr benötigen