草庐IT

python - 使用 boto python 从 s3 递归下载文件。

我在s3中有一个存储桶,它具有深层目录结构。我希望我可以一次下载它们。我的文件如下所示:foo/bar/1..foo/bar/100..有没有办法在python中使用botolib从s3存储桶递归下载这些文件?提前致谢。 最佳答案 您可以像这样下载存储桶中的所有文件(未经测试):fromboto.s3.connectionimportS3Connectionconn=S3Connection('your-access-key','your-secret-key')bucket=conn.get_bucket('bucket')for

python - 如何使用 Amazon SNS 和 Python 和 boto3 发送带有自定义发件人 ID 的 SMS

documentation建议为此使用消息属性,但我似乎无法弄清楚要使用什么属性名称。目前有效:sns=boto3.client('sns',region_name='eu-west-1')sns.publish(PhoneNumber='+491701234567',Message='hithere',MessageAttributes={'AWS.SNS.SMS.SenderID':{'DataType':'String','StringValue':'MySenderID'}})SMS已发送,但在发件人ID字段中有一些(随机?)值。所以似乎我的消息属性设置被默默地忽略了。设置自定

python - 如何关闭 Boto S3 连接?

我在Python程序中使用Boto连接到AmazonS3。我能够打开连接并将文件上传到存储桶。我想我应该关闭连接以释放资源,更重要的是,避免任何安全风险,因为让一个打开的连接悬而未决。我认为我应该调用close()方法。但我对此进行了如下测试:1.打开连接。2.关闭连接。3.上传文件到bucket。我认为第3步会失败,但上传成功了!那么close()是做什么的呢?如果它没有真正关闭连接,我应该使用什么来代替close()?还是不需要关闭连接?我在Bototutorial中寻找答案,BotoAPIreference,和thisStackOverflowpost,但到目前为止还没有运气。感

python - 如何从boto获取当前用户所在的区域?

问题:我正在尝试从boto3获取经过身份验证的用户的区域。用例:我正在努力将缓存添加到https://github.com/pmazurek/aws-fuzzy-finder.我更愿意在per-region基础上缓存结果。此包使用boto来获取用户身份验证数据(key和区域)。问题是该区域从未被用户明确传递过,它是从boto读取的许多阴暗地方之一获取的,所以我真的没有办法得到它。我尝试通过boto3api和谷歌搜索,但找不到像get_region或get_user_data方法这样的东西。有可能吗? 最佳答案 您应该能够阅读regi

python - 如何使用 Boto 启动 EC2 实例,指定 EBS 的大小?

我正在使用boto/python启动一个从EBS卷启动的新EC2实例。在我启动实例时,我想覆盖引导EBS卷的默认大小。我没有找到适合我的启动代码的boto方法或参数:ec2=boto.connect_ec2(ACCESS_KEY,SECRET_KEY,region=region)reservation=ec2.run_instances(image_id=AMI_ID,key_name=EC2_KEY_HANDLE,instance_type=INSTANCE_TYPE,security_groups=[SECGROUP_HANDLE,])Thiswebpage展示了如何使用命令行工具

python - 使用 boto 将公共(public) URL 上可用的图像上传到 S3

我在PythonWeb环境中工作,我可以使用boto的key.set_contents_from_filename(path/to/file)将文件从文件系统上传到S3。但是,我想上传一张已经在网络上的图片(比如https://pbs.twimg.com/media/A9h_htACIAAaCf6.jpg:large)。我应该以某种方式将图像下载到文件系统,然后像往常一样使用boto将其上传到S3,然后删除图像吗?理想的情况是,如果有一种方法可以获取boto的key.set_contents_from_file或其他可以接受URL并将图像很好地流式传输到S3而无需将文件副本显式下载到我

python - 如何使用 python boto 获取亚马逊 S3 中唯一文件夹的列表?

我正在使用boto、python和amazons3。如果我使用[key.nameforkeyinlist(self.bucket.list())]然后我得到所有文件的所有key。mybucket/files/pdf/abc.pdfmybucket/files/pdf/abc2.pdfmybucket/files/pdf/abc3.pdfmybucket/files/pdf/abc4.pdfmybucket/files/pdf/new/mybucket/files/pdf/new/abc.pdfmybucket/files/pdf/2011/什么是最好的方法1.eithergetallf

python - 如何使用 boto 将文件从 Amazon S3 流式传输到 Rackspace Cloudfiles?

我正在将文件从S3复制到Cloudfiles,并且我想避免将文件写入磁盘。Python-Cloudfiles库有一个object.stream()调用,看起来是我需要的,但我在boto中找不到等效调用。我希望我能够做类似的事情:shutil.copyfileobj(s3Object.stream(),rsObject.stream())boto(或者我想任何其他s3库)可以做到这一点吗? 最佳答案 此线程中的其他答案与boto有关,但S3.Object在boto3中不再可迭代。因此,以下内容不起作用,它会产生TypeError:'s

python - 如何轻松确定 Boto 3 S3 存储桶资源是否存在?

例如,我有这样的代码:importboto3s3=boto3.resource('s3')bucket=s3.Bucket('my-bucket-name')#Doesitexist??? 最佳答案 在撰写本文时,还没有高级方法可以快速检查存储桶是否存在并且您可以访问它,但是您可以对HeadBucket操作进行低级调用。这是进行此检查的最便宜的方法:frombotocore.clientimportClientErrortry:s3.meta.client.head_bucket(Bucket=bucket.name)exceptC

python - 无法安装boto3

我在虚拟环境中安装boto3时遇到问题。我已经按照文件所说的做了。首先我激活了虚拟环境。然后我做了一个:Sudopipinstallboto3现在我输入python>>importboto3ImportError:Nomodulenamedboto3但如果我导入boto,它就可以工作>>importboto>>boto.Version'2.38.0'为什么我安装boto3的时候安装boto2.38。我尝试关闭终端并重新打开它。我应该重新启动Ubuntu机器吗? 最佳答案 还有另一种可能的情况也可能会吸引一些人(如果您的系统上有pyt