草庐IT

python - 使用 Python 将元数据添加到图像上传到 S3

我已成功将图像添加到S3上的存储桶,但问题是我不确定如何将内容类型设置为“图像/png”。这是我的代码image=Image.open(self.image)conn=S3Connection(settings.AWS_ACCESS_KEY_ID,settings.AWS_SECRET_ACCESS_KEY)out_im2=cStringIO.StringIO()image.save(out_im2,'PNG')b=conn.get_bucket('new_test_bucket')k=b.new_key(self.title+'.png')k.set_contents_from_fi

python - 如何在python中获取当前ec2实例的公共(public)ip?

如何在python中获取当前EC2实例的公网IP地址? 最佳答案 importurllib.requesturllib.request.urlopen("http://169.254.169.254/latest/meta-data/public-ipv4").read() 关于python-如何在python中获取当前ec2实例的公共(public)ip?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

Python - 列出存储桶中的文件和文件夹

我正在使用boto库来访问amazons3存储桶。我正在尝试列出存储桶中给定文件夹中的所有文件和文件夹。我用它来获取所有文件和文件夹:forkeyinbucket.list():printkey.name这为我提供了root中的所有文件和文件夹,以及其中包含文件的子文件夹,如下所示:root/file1file2folder1/file3folder1/file4folder1/folder2/file5folder1/folder2/file6我怎样才能只列出sayfolder1的内容,其中会列出如下内容:files:file3file4folders:folder2我可以使用导航到

python - 如何使用 boto3 send_email 或 send_raw_email 发送 HTML 文本和附件?

如何使用boto3发送图像附件?SESsend_email客户端?我知道我可以使用send_raw_email发送附件,但我需要发送带有html数据的邮件正文。如果这不可能,我如何使用boto3.ses.send_raw_email()发送带有html数据的电子邮件? 最佳答案 在查阅了多个来源(包括其他SO问题、博客和Python文档)后,我得出了以下代码。允许文本和/或html电子邮件和附件。分离了MIME和boto3部分,以防您想将MIME重新用于其他目的,例如使用SMTP客户端而不是boto3发送电子邮件。importosi

python - Boto S3 API 不返回完整的 key 列表

我在我的python脚本中使用了botoS3API,它慢慢地将数据从S3复制到我的本地文件系统。脚本运行了几天,但现在出现了问题。我使用以下API函数获取“目录”中的键列表:keys=bucket.get_all_keys(prefix=dirname)并且此函数(get_all_keys)并不总是返回完整的key列表,我的意思是我可以通过AWS网络界面或通过awss3lss3://查看更多key路径。在版本2.15和2.30上重现了该问题。也许boto缓存了我对S3的一些请求(我一遍又一遍地重复相同的请求)?如何解决这个问题,有什么建议吗? 最佳答案

python - 如何从 boto 调用返回 XML?

我正在使用boto2.32.1使用Python2.7.6。我在使用list_orders时遇到问题boto的mws模块的功能,用于获取我的亚马逊订单的XML数据。这是我打的电话:response=connection.list_orders(CreatedAfter='2014-08-26T05:53:44+00:00',MarketplaceId=['XXXXXXXXXXXXX'])这里是response的值(明显去掉了个人信息)ListOrdersResponse{u'xmlns':u'https://mws.amazonservices.com/Orders/2013-09-01

python - 使用 Boto 判断文件何时已成功上传到 Glacier

目前我正在使用AmazonWebServices(AWS)并打开一个S3存储桶,将其内容保存到EC2中的一个目录,然后我从该目录中的所有内容创建一个tar文件并将该tar文件推送到AWS冰川。我试图完成的最后一步是在tar文件成功上传到AWSGlacier时终止脚本(这需要3-5小时)。目前,我对如何获取archive_id并询问vault是否已成功加载tar文件感到困惑。为了与AWSGlacier交互,我一直在使用pythonboto工具。我包含了将文件上传到glacier的python\boto代码,以及我尝试运行的一些快速测试,只是为了确定代码是否已成功上传。到目前为止,所有测试

python - SQS : How can I read the sent time of an SQS message using Python's boto library

当我在AWS控制台的SQS消息View中查看消息时,我可以看到消息有发送时间。我如何使用Python的boto库读取这些数据? 最佳答案 当您在boto中从队列中读取消息时,您会得到一个Message对象。该对象具有名为attributes的属性。它是SQS保留的关于此消息的属性字典。它包括SentTimestamp。 关于python-SQS:HowcanIreadthesenttimeofanSQSmessageusingPython'sbotolibrary,我们在StackOve

python - 使用 s3boto 的 Django 存储忽略 MEDIA_URL

我正在尝试在我的应用程序中将django-storages与s3boto结合使用,并尝试从s3提供媒体和静态文件。我的设置文件中有以下设置:AWS_STORAGE_BUCKET_NAME=''AWS_S3_ACCESS_KEY_ID=''AWS_S3_SECRET_ACCESS_KEY=''AWS_S3_CUSTOM_DOMAIN='%s.s3.amazonaws.com'%AWS_STORAGE_BUCKET_NAMESTATICFILES_LOCATION='static'STATICFILES_STORAGE=''MEDIAFILES_LOCATION='media'DEFAUL

python - Django +Celery +SQS -> boto.exception.SQSError : SQSError: 599 gnutls_handshake()

我在生产环境中使用Django应用程序与Celery和AmazonSQS一起工作。每天在我的celery日志中我都可以看到有SSL错误:[ERROR/MainProcess]Emptybody:SQSError:599gnutls_handshake()failed:AnunexpectedTLSpacketwasreceived.尝试重新连接到代理时出现下一个错误:[2016-12-1416:06:28,917:WARNING/MainProcess]consumer:Connectiontobrokerlost.Tryingtore-establishtheconnection..