Questions tagged «boto»

boto是Amazon Web Services的开源Python接口

9
如何使用boto3处理错误?
我试图弄清楚如何使用boto3进行正确的错误处理。 我正在尝试创建一个IAM用户: def create_user(username, iam_conn): try: user = iam_conn.create_user(UserName=username) return user except Exception as e: return e 成功调用create_user时,我得到一个整洁的对象,其中包含API调用的http状态代码和新创建的用户的数据。 例: {'ResponseMetadata': {'HTTPStatusCode': 200, 'RequestId': 'omitted' }, u'User': {u'Arn': 'arn:aws:iam::omitted:user/omitted', u'CreateDate': datetime.datetime(2015, 10, 11, 17, 13, 5, 882000, tzinfo=tzutc()), u'Path': '/', u'UserId': 'omitted', u'UserName': 'omitted' } } 这很好。但是,如果失败(例如用户已经存在),我只会得到一个类型为botocore.exceptions.ClientError的对象,其中只有文本可以告诉我出了什么问题。 示例:ClientError('调用CreateUser操作时发生错误(EntityAlreadyExists):名称省略的用户已经存在。',) 此(AFAIK)使得错误处理变得非常困难,因为我不能仅打开结果的http状态代码(根据IAM的AWS API文档,该用户的409已经存在)。这使我认为我必须以错误的方式做某事。最佳的方法是让boto3永远不会抛出异常,但是突出部分总是返回一个反映API调用进行方式的对象。 谁能在这个问题上启发我或为我指明正确的方向?

12
列出带有boto3的存储桶的内容
如何查看S3中的存储桶中的内容boto3?(即是"ls")? 执行以下操作: import boto3 s3 = boto3.resource('s3') my_bucket = s3.Bucket('some/path/') 返回: s3.Bucket(name='some/path/') 我如何看其内容?
197 python  amazon-s3  boto  boto3 


1
AWS boto和boto3有什么区别[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我是使用Python的AWS新手,并且正在尝试学习boto API,但是我注意到有两个主要的Python版本/软件包。那将是boto和boto3。 AWS boto库和boto3库之间有什么区别?

6
如何使用boto3将S3对象保存到文件
我正在尝试使用适用于AWS的新boto3客户端做一个“ hello world” 。 我的用例非常简单:从S3获取对象并将其保存到文件中。 在boto 2.XI中,它应该是这样的: import boto key = boto.connect_s3().get_bucket('foo').get_key('foo') key.get_contents_to_filename('/tmp/foo') 在boto 3中。我找不到一种干净的方法来做同样的事情,所以我手动遍历了“ Streaming”对象: import boto3 key = boto3.resource('s3').Object('fooo', 'docker/my-image.tar.gz').get() with open('/tmp/my-image.tar.gz', 'w') as f: chunk = key['Body'].read(1024*8) while chunk: f.write(chunk) chunk = key['Body'].read(1024*8) 要么 import boto3 key = boto3.resource('s3').Object('fooo', 'docker/my-image.tar.gz').get() with open('/tmp/my-image.tar.gz', 'w') as f: for chunk …

11
Amazon S3 Boto-如何创建文件夹?
如何使用botoAmazon s3的库在存储桶下创建文件夹? 我按照手册进行操作,并使用许可权,元数据等创建了密钥,但在boto文档中没有描述如何在存储桶下创建文件夹或在存储桶下的文件夹下创建文件夹的内容。
123 amazon-s3  boto 

12
Boto3错误:botocore.exceptions.NoCredentialsError:无法找到凭据
当我简单地运行以下代码时,总是会出现此错误。 s3 = boto3.resource('s3') bucket_name = "python-sdk-sample-%s" % uuid.uuid4() print("Creating new bucket with name:", bucket_name) s3.create_bucket(Bucket=bucket_name) 我已将凭证文件保存在 C:\Users\myname\.aws\credentials,Boto应该从那里读取我的凭据。 我的设置错了吗? 这是的输出boto3.set_stream_logger('botocore', level='DEBUG')。 2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Skipping environment variable credential check because profile name was explicitly set. 2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Looking for credentials via: env 2015-10-24 14:22:28,773 botocore.credentials [DEBUG] Looking …
112 boto  boto3 




7
模拟boto3 S3客户端方法Python
我正在尝试从boto3 s3客户端对象模拟一个单独的方法来引发异常。但是我需要所有其他方法来使此类正常工作。 这样一来,我可以在执行upload_part_copy并发生错误时测试单个异常测试 第一次尝试 import boto3 from mock import patch with patch('botocore.client.S3.upload_part_copy', side_effect=Exception('Error Uploading')) as mock: client = boto3.client('s3') # Should return actual result o = client.get_object(Bucket='my-bucket', Key='my-key') # Should return mocked exception e = client.upload_part_copy() 但是,这将产生以下错误: ImportError: No module named S3 第二次尝试 查看botocore.client.py源代码后,我发现它做的很聪明,并且该方法upload_part_copy不存在。我发现似乎要打电话给BaseClient._make_api_call我,所以我试图模拟 import boto3 from mock import patch …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.