栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

资源,客户端和会话之间的boto3差异?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

资源,客户端和会话之间的boto3差异?

这里是有关Client,Resource和Session的所有更详细的信息。

客户:

  • 低级AWS服务访问
  • 从AWS 服务 描述生成
  • 向开发人员展示botocore客户端
  • 通常使用AWS服务API 1:1映射
  • 客户端支持所有AWS服务操作
  • 蛇形方法名称(例如ListBuckets API => list_buckets方法)

以下是客户端级别访问S3存储桶的对象(最多1000 **)的示例:

import boto3client = boto3.client('s3')response = client.list_objects_v2(Bucket='mybucket')for content in response['Contents']:    obj_dict = client.get_object(Bucket='mybucket', Key=content['Key'])    print(content['Key'], obj_dict['LastModified'])

**您必须使用分页器,或实现自己的循环,如果数量超过1000,则使用连续标记重复调用list_objects()。

资源:

  • 更高级别的,面向对象的API
  • 根据 资源 描述生成
  • 使用标识符和属性
  • 有行动(对资源的操作)
  • 公开子资源和AWS资源的集合
  • 不提供AWS服务的100%API覆盖率

以下是使用资源级访问S3存储桶的对象(全部)的等效示例:

import boto3s3 = boto3.resource('s3')bucket = s3.Bucket('mybucket')for obj in bucket.objects.all():    print(obj.key, obj.last_modified)

请注意,在这种情况下,您无需进行第二次API调用即可获取对象。您可以将其作为存储桶中的集合使用。这些子资源集合是延迟加载的。

您可以看到

Resource
该代码的版本更加简单,紧凑,功能更多(它可以为您分页)。
Client
如果要包括分页,代码的版本实际上比上面显示的要复杂。

会议:

  • 存储配置信息(主要是凭据和所选区域)
  • 允许您创建服务客户端和资源
  • boto3在需要时为您创建一个默认会话

re:Invent
video入门视频
是了解这些boto3概念的有用资源。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571126.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号