[PYTHON] Ich wollte mit boto3 mehrere objekte in s3 löschen

installiere boto3

$ pip3 install boto3

Einstellungen für den Zugriff auf s3 sind Datei

aws.py


import boto3

s3 = boto3.client(
    's3',
    aws_access_key_id = {access key},
    aws_secret_access_key = {secret_access_key},
    region_name = 'ap-northeast-1')
    
s3_bucket = 'sample-app'

Erstellen Sie eine Methode zum Bedienen von s3

services/s3_service.py


from aws import s3, s3_bucket

class S3Service:

    #Holen Sie sich den Inhalt des Objekts
    def get_object():
        s3_dir = 'image/sample.json'
        sample_json = s3.get_object(Bucket=s3_bucket, Key=s3_dir)
        body = sample_json['Body'].read()

        print(body.decode('utf-8'))

    #Holen Sie sich mehrere Objekte
    def get_objects(id):
        s3_dir = 'image/{0}/'.format(id)
        image_objs = s3.list_objects_v2(Bucket=s3_bucket, Prefix=s3_dir)

        for image in image_objs['Contents']: 
            print(image['Key'])

    #Löschen Sie mehrere Objekte
    def delete_objects(id):
        s3_dir = 'image/{0}/'.format(id)
        image_objs = s3.list_objects_v2(Bucket=s3_bucket, Prefix=s3_dir)

        for obj in image_objs['Contents']: 
            key = obj['Key']
            s3.delete_object(Bucket=s3_bucket, Key=key)

Rufen Sie die Serviceklasse an

controller/image_controller.py


from flask import Blueprint, make_response
from services.s3_service import S3Service

# set route
sample_controller = Blueprint('sample_controller_router', __name__)

@sample_controller.route('/delete/<id>', methods=['PUT'])
def delete_images(id):
   S3Service.delete_objects(id)
   return make_response(jsonify({'code': 200}))

Recommended Posts

Ich wollte mit boto3 mehrere objekte in s3 löschen
Verwenden Sie boto3, um zu S3 zu gelangen
Ich möchte Objekte mit OpenCV erkennen
Ich wollte ABC160 mit Python lösen
Ich wollte unbedingt mit Selen kopieren
DQN mit TensorFlow implementiert (ich wollte ...)
Ich wollte den NOMURA Contest 2020 mit Python lösen
Ich habe versucht, Keras in TFv1.1 zu integrieren
Ich möchte mehrere Bilder mit matplotlib anzeigen.
Ich wollte Python 3.4.3 mit Homebrew + pyenv installieren
Melden Sie sich einfach mit mehreren Konten bei AWS an
Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
Ich wollte auch Typhinweise mit numpy überprüfen
So erhalten Sie mehrere Modellobjekte zufällig in Django
Ich möchte mit einem Knopf am Kolben übergehen
Bearbeiten Sie S3-Objekte mit Boto3 (High-Level-API und Low-Level-API)
Löschen Sie jeweils 1000 in AWS S3 gespeicherte Objekte.
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Ich wollte den Panasonic Programming Contest 2020 mit Python lösen
Ich möchte eine Spalte mit NA in R einfach löschen
Ich habe zwei Möglichkeiten ausprobiert, um mehrere Commits mit Git zu kombinieren
S3-Betrieb mit Python Boto3
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Ich habe das Toho-Projekt mit Deep Learning aufgenommen ... ich wollte.
Ich wollte ein Array mit der Subs-Methode von Sympy berechnen
Wie lösche ich mit SQLAlchemy?
Ich habe versucht, einen Artikel mit SQL Alchemy auf Wiki.js zu erstellen
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich wollte eine intelligente Präsentation mit Jupyter Notebook + nb present erstellen
Was ich mit json.dumps in Pythons base64-Codierung süchtig gemacht habe
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Ich wollte so etwas wie Elixirs Pipe in Python machen
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Zwei Möglichkeiten, mit matplotlib mehrere Grafiken in einem Bild anzuzeigen
So löschen Sie mehrere angegebene Positionen (Indizes) in einer Python-Liste
Ich habe versucht, mich automatisch mit Selen bei Twitter anzumelden (RPA, Scraping)
Stellen Sie mit SQL Alchemy eine Verbindung zu mehreren Datenbanken her
Hash-Kette wollte ich vermeiden (2)
Ich wollte cGAN zu ACGAN weiterentwickeln
6 Möglichkeiten zum Stringen von Objekten in Python
Stellen Sie mit boto eine Verbindung zu Elastic MQ her
Löschen Sie mehrere Elemente in der Python-Liste
Ich möchte mit Python debuggen
Hash-Kette wollte ich vermeiden (1)
Generieren Sie eine mit S3 signierte URL mit boto
Ich habe versucht, schlechte Tweets regelmäßig mit der AWS Lambda + Twitter API zu löschen
Ich habe ein Tool zum automatischen Durchsuchen mehrerer Websites mit Selenium (Python) erstellt.
(Matplotlib) Ich möchte ein Diagramm mit einer in Pixel angegebenen Größe zeichnen
Umgang mit SSL-Fehlern beim Herstellen einer Verbindung zu S3 mit Python boto
Es ist neuer, aber ich wollte die BMI-Berechnung mit Python ausprobieren.
[Einführung in Python] So löschen Sie Zeilen, die mehrere Bedingungen in Pandas.DataFrame erfüllen
Wenn Sie mehrere Statistiken mit groupby of pandas v1 erhalten möchten
Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten
[Google Colab] Ich möchte mehrere Bilder nebeneinander in einer Kachel anzeigen
Laden Sie das, was Sie angefordert haben, mit AWS Lambda Python in S3 hoch
Kopieren Sie Daten von Amazon S3 mit Python (boto) in Google Cloud Storage.
Ich habe versucht, PLSA in Python zu implementieren
Ich habe eine multiple Regressionsanalyse mit Polypoly-Regression versucht