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-Objekt-Nutzer (
roles/storage.objectUser) -
Objekte über die Cloud de Confiance Konsole löschen:
Storage-Administrator (
roles/storage.admin) -
Alternativ können Sie Objekte über die Cloud de Confiance Console 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 -
Objekte mit der Cloud de Confiance Console oder mit dem Flag
--recursiveoder Platzhaltern in der Google Cloud CLI auflisten:storage.objects.list -
Buckets mit der Cloud de Confiance Console auflisten:
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 Objekte einzeln löschen.
So löschen Sie ein einzelnes Objekt:
Console
- Wechseln Sie in der Cloud de Confiance 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 gelöscht werden soll.
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
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.s3nsapis.fr/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.s3nsapis.fr/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 derCloud de Confiance -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 Cloud de Confiance 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 das Kästchen für jedes Objekt an, das Sie löschen möchten.
Sie können das Kästchen für einen Ordner auswählen, um alle darin enthaltenen Objekte zu löschen.
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 Cloud de Confiance Console auf das Symbol Benachrichtigungen. DieCloud de Confiance 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 Cloud de Confiance 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-CLI
Wenn Sie mehrere Objekte in Cloud Storage mit der Amazon S3-CLI 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. Setzen Sie dazu das Flag --endpoint-url auf storage.googleapis.com. Detaillierte Parameterdefinitionen und das Verhalten der delete-objects API finden Sie in der Referenzdokumentation zur Amazon S3-CLI für „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 Bulk-Objekten verwenden möchten, richten Sie Ihre Anfrage an den Endpunkt Cloud de Confiance by S3NS . Legen Sie dazu die Endpunkt-URL in der Clientkonfiguration auf https://storage.googleapis.com fest. Dieser Ansatz kann nützlich sein, wenn Sie eine der folgenden Aufgaben ausführen:
- Nutzung vorhandener Codebasen oder Tools, die bereits für Amazon S3 erstellt wurden.
- Konsistenz in Multi-Cloud-Umgebungen mit Amazon S3 und Cloud Storage aufrechterhalten
Im folgenden Beispiel wird gezeigt, wie Sie einen Client mit einer Boto3-Bibliothek initialisieren, 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 für Boto3.
XML API
So löschen Sie mit der XML API bis zu 1.000 Objekte in einer einzelnen Anfrage:
Die gcloud CLI installieren und initialisieren, 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:11111QUIET_RESPONSE_BOOLEANsteuert die Ausführlichkeit der API-Antwort:- 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 die Audit-Logs auf Fehlerdetails prüfen. - Legen Sie
Truefür eine kurze 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 Suchparameter?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.s3nsapis.fr/BUCKET_NAME?delete"
Wobei:
XML_FILE_NAMEist der Name der von Ihnen erstellten XML-Datei.BUCKET_NAMEist der Name des Buckets, der die zu löschenden Objekte enthält.Wenn der
Quiet-Modus deaktiviert 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
Quiet-Modus aktiviert 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. Hier ist ein Beispiel für eine Antwort im Quiet-Modus, 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 Objektlöschjob löschen möchten, verwenden Sie Storage-Batchvorgänge. Wenn Sie einen Job erstellen möchten, geben Sie die zu löschenden Objekte an. Dazu können Sie entweder eine Liste von Objekten in einer Manifestdatei bereitstellen oder Objektpräfixe verwenden. Nachdem Sie die Objektliste angegeben haben, erstellen Sie einen Batchvorgangsjob, um die Objekte zu löschen.
Objekte mit Objektlebenszyklusregeln 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 Logs zu löschen, die älter als 30 Tage sind.
Löschanfragen für Objekte mit der JSON API zusammenfassen
Wenn Sie viele Objekte mit der JSON API löschen, können Sie die Anzahl der erforderlichen HTTP-Verbindungen mit JSON API-Batchanfragen reduzieren. Sie können bis zu 100 API-Aufrufe in einer einzigen HTTP-Anfrage zusammenfassen, um den Netzwerk-Overhead zu reduzieren.
Nächste Schritte
- Vorläufig gelöschte Objekte wiederherstellen, wenn Sie ein Objekt versehentlich gelöscht haben
- Wenn Sie die Objektversionsverwaltung verwenden, kann das Löschen eines Objekts dazu führen, dass es nicht mehr aktuell ist, anstatt es endgültig zu löschen. Informationen zum Verwalten oder endgültigen Löschen nicht aktueller Versionen
- Konfigurieren Sie die Verwaltung des Objektlebenszyklus, um zukünftige Objektlöschungen zu automatisieren.
- Bucket löschen, wenn Sie ihn nicht mehr benötigen.