将图片从facebook messenger url上传到aws s3

2024-04-25 01:55:57 发布

您现在位置:Python中文网/ 问答频道 /正文

以下情况:用户向facebook messenger发送图像,facebook提供如下url

https://scontent.xx.fbcdn.net/v/t35.0-12/23998500_10155996498283474_1759188226_o.jpg?_nc_ad=z-m&_nc_cid=0&oh=44c94cc85e75048cc4355e7422281cf5&oe=5A1A5AE7

我将这个url存储在一个名为url的变量中。现在我想把这张图片上传到我的AWS S3:

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) 

但是,像这样,Python抛出了一个错误:关于url,没有这样的文件或目录。怎么走?你知道吗


Tags: keyimportawsidurlsecretfacebooks3