ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

boto v2.6.0 版本解析:Glacier/Beanstalk 新服务、S3 CORS 与默认启用 SSL 证书校验

boto v2.6.0 版本解析:Glacier/Beanstalk 新服务、S3 CORS 与默认启用 SSL 证书校验 后端云原生【免费下载链接】botoFor the latest version of boto, see https://github.com/boto/boto3 -- Python interface to Amazon Web Services项目地址https://gitcode.com/gh_mirrors/bo/boto点击查看免费下载版本速览boto v2.6.0 是 boto 在 PyPI 上发布的 2.6.x 系列版本对应文档 docs/source/releasenotes/v2.6.0.rst。该版本相比上一版 v2.5.2核心变化集中在三块新增 Amazon Glacier、AWS Elastic Beanstalk 两个服务模块为 Amazon S3 补齐 CORS 配置能力以及一个影响所有连接的默认行为变更——SSL 证书校验从“可选”变为“默认开启”。此外还包含 EC2 Reserved Instances 转售Marketplace Listing与 IAM Roles 支持。服务端到端解析Amazon Glacierboto/glacierGlacier 新增模块提供低层Layer1与高层Layer2封装支持并发上传大档案。layer1.py提供create_vault、upload_archive等底层 APIlayer2.py提供面向对象接口Vault、Job 等配合concurrent.py实现分片并发上传utils.py提供树哈希TreeHash计算。具体使用方式见 boto/glacier/layer1.py、boto/glacier/layer2.py。AWS Elastic Beanstalkboto/beanstalkBeanstalk 模块在 2.6.0 中新增。核心入口位于 boto/beanstalk/init.py通过connect_to_region()返回Layer1连接对象。region 元数据定义在 boto/beanstalk/layer1.py 与 boto/regioninfo.py。from boto import beanstalk conn beanstalk.connect_to_region(us-east-1) # 列出环境 for env in conn.describe_environments(): print(env.environment_name, env.status)Layer1基于 boto/roboto/awsqueryrequest.py 实现 AWS Query API 签名与 XML 解析响应对象在 boto/beanstalk/response.py 中定义。Amazon S3 CORSboto/s3/cors.pyS3 CORS 由 boto/s3/cors.py 中的CORSRule与CORSConfiguration两个类实现核心接口为Bucket.set_cors()、Bucket.get_cors()、Bucket.delete_cors()见 boto/s3/bucket.py。from boto.s3.cors import CORSConfiguration from boto.s3.connection import S3Connection conn S3Connection() bucket conn.get_bucket(my-bucket) cors CORSConfiguration() cors.add_rule( allowed_method[PUT, POST, DELETE], allowed_originhttp://www.example.com, allowed_header*, max_age_seconds3000, expose_headerx-amz-server-side-encryption, idfoobar_rule ) bucket.set_cors(cors) print(bucket.get_cors().to_xml()) bucket.delete_cors()add_rule()的allowed_method合法值GET|PUT|HEAD|POST|DELETEallowed_origin最多包含一个*通配符allowed_header支持*。单元测试 tests/unit/s3/test_cors_configuration.py 覆盖了带 ID 单规则、多规则、最小规则三种 XML 生成场景。Reserved Instances 转售boto/ec2/connection.pyEC2 新增create_reserved_instances_listing()与cancel_reserved_instances_listing()见 boto/ec2/connection.py允许将不再需要的 Reserved Instances 挂到 Marketplace 出售返回ReservedInstanceListing列表对象。from boto import ec2 conn ec2.connect_to_region(us-west-2) conn.create_reserved_instances_listing( reserved_instances_idri-12345678, instance_count1, price_schedules[(2.50, 11), (2.00, 8)], client_tokenmy-token )price_schedules为(价格, 剩余月份)元组列表client_token用于幂等最大 64 个 ASCII 字符支持dry_run参数。IAM Rolesboto/iamIAM 模块提供角色相关的assume_role等操作相关实现见 boto/iam/connection.py 与 boto/iam/init.py。SSL 证书校验默认开启本版本将validate_certs的默认值从False改为True即所有 HTTPS 连接默认校验服务器证书。可通过两种方式关闭构造器参数向Connection构造函数或connect_*函数传入validate_certsFalse。boto 配置文件/etc/boto.cfg或~/.boto[Boto] https_validate_certificates False不建议在生产环境关闭。配置项在 boto/connection.py 中读取https_validate_certificates控制开关ca_certificates_file指定 CA 证书文件默认使用 boto/cacerts/cacerts.txt设为system时使用系统证书库。证书验证实现在 boto/https_connection.pyCertValidatingHTTPSConnection在握手后调用ValidateCertificateHostname()校验主机名失败抛出InvalidCertificateException。校验失败异常会被 boto/connection.py 加入不可重试异常列表避免无意义重试。已知限制Python 2.7.3 之前存在 bugs.python.org/issue13034只检查证书 commonName 而忽略 subjectAltNames。因此 boto 将部分服务端点改为与证书 commonName 匹配并将 CA 证书捆绑发布。若需自定义证书文件请将ca_certificates_file指向你的 PEM 证书文件。提交与作者统计2.6.0 版本共包含 440 个提交来自 53 位作者见文档附录的完整作者列表。完整提交对比可查看 docs/source/releasenotes/v2.6.0.rst。升级到 2.6.0 的注意事项升级前需注意validate_certs默认开启后若你的环境存在证书链不完整或代理劫持连接可能失败。此时先确认ca_certificates_file是否正确再考虑临时关闭校验。此外Glacier 与 Beanstalk 为新增模块旧代码无需迁移即可继续使用。赞分享后端云原生【免费下载链接】botoFor the latest version of boto, see https://github.com/boto/boto3 -- Python interface to Amazon Web Services项目地址https://gitcode.com/gh_mirrors/bo/boto点击查看免费下载相关推荐scrcpy 安卓投屏教程一根线连上电脑1 秒出画面scrcpy 安卓投屏教程一根线连上电脑1 秒出画面 scrcpy 是一款免费开源的安卓投屏与远程控制工具。手机通过 USB 或 Wi Fi 接上电脑约音视频PhpWebStudy项目中PHP默认SSL证书配置优化解析PhpWebStudy项目中PHP默认SSL证书配置优化解析 在PHP开发环境中SSL/TLS证书配置是一个经常被忽视但至关重要的环节。本文将以PhpWebS开发工具桌面应用Cherry Studio WebDAV 备份默认启用 TLS 证书校验破坏性变更详解与自签证书 NAS 场景迁移指南Cherry Studio WebDAV 备份默认启用 TLS 证书校验破坏性变更详解与自签证书 NAS 场景迁移指南 Cherry Studio v2 重构人工智能大模型AI 应用交互助手本地部署上一篇calibre 电子书编辑器Edit Book完全指南EPUB/AZW3/KEPUB 的 HTML 与 CSS 深度编辑实战下一篇从测试全绿到产出真合格Resume-Matcher 的 Agentic E2E Monitor 设计与实现解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表