folgende Situation vor: Ein Benutzer ein Bild zu Facebook Messenger sendet und Facebook bietet eine URL, die wie diese genanntBild hochladen von Facebook Messenger URL aws s3
Ich speichere diese URL in einer Variablen sieht url. Nun möchte Ich mag das Bild meines AWS S3 laden:
import boto
import os
AWS_ACCESS_KEY_ID = ‘somekey’
AWS_SECRET_ACCESS_KEY = 'somesecret'
END_POINT = 'us-east-1'
S3_HOST = 's3.us-east-1.amazonaws.com'
BUCKET_NAME = 'somestorage'
def upload_s3(url):
fname = url
uploaded_fname = 'somename'
s3 = boto.s3.connect_to_region(END_POINT,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
host=S3_HOST)
bucket = s3.get_bucket(BUCKET_NAME)
k = Key(bucket)
k.key = uploaded_fname
k.set_contents_from_filename(fname)
Jedoch, wie dieser Python wirft mich einen Fehler keine solche Datei oder das Verzeichnis im Hinblick auf die URL. Wie soll es gehen?
Sie müssen zuerst die Datei herunterladen. – jordanm
Also schlagen Sie vor, ich es in einen statischen Ordner in meinem Django-Projekt herunterladen und von dort hochladen? das sollte lokal und auf AWS EB funktionieren, denke ich. Nach dem Hochladen auf S3 kann ich die Dateien löschen, um meine Speichernutzung vernünftig zu halten – robjeiter