使用aws签名v4对aws请求进行签名的python库。

aws-request-signer的Python项目详细描述


AWS请求签名人

A python library to sign AWS requests using AWS Signature V4.

这个小python库的作用只有一个:帮助您签署http 与AWS(和兼容)服务一起使用的请求。图书馆是 无pinionated,应该与任何使http 请求(请求,aiohttp)。

它支持为http请求生成授权头, 预先签署url,以便您可以在其他地方轻松使用它们并签署s3 发布用于HTML表单的策略。

这个库没有要求,但是带有一个身份验证 请求包的帮助程序。

安装

aws-request-signer可从pypi获得:

pip install aws-request-signer

用法示例

下面是一个如何使用库签署将文件上载到 minios3桶在本地计算机上运行:

importhashlibimportrequestsfromaws_request_signerimportAwsRequestSignerAWS_REGION=""AWS_ACCESS_KEY_ID="minio"AWS_SECRET_ACCESS_KEY="minio123"URL="http://127.0.0.1:9000/demo/hello_world.txt"# Demo content for our target file.content=b"Hello, World!\n"content_hash=hashlib.sha256(content).hexdigest()# Create a request signer instance.request_signer=AwsRequestSigner(AWS_REGION,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,"s3")# The headers we'll provide and want to sign.headers={"Content-Type":"text/plain","Content-Length":str(len(content))}# Add the authentication headers.headers.update(request_signer.sign_with_headers("PUT",URL,headers,content_hash))# Make the request.r=requests.put(URL,headers=headers,data=content)r.raise_for_status()

有关更多示例和用法,请参阅 demo.py

开发设置

出于开发目的,您可以克隆存储库并使用 poetry安装和维护 依赖关系。没有测试套件。它附带一组预提交 可以格式化(isort,black)并检查代码的钩子(mypy,flake8) 自动。

git clone git@github.com:iksteen/aws-request-signer.git
cd aws-request-signer
poetry install -E demo
poetry run pre-commit install

note:在编写时,mypy使用的typeshed库 包含不正确的requests.auth.AuthBase.__call__签名 方法。aws请求签名者的存储库包括 请求,直到签名固定在上游。

发布历史记录

  • 1.0.0条
    • 初次发布。

英格玛·斯特恩–@iksteen

根据麻省理工学院的许可证发行。有关详细信息,请参见LICENSE

https://github.com/iksteen/

贡献

  1. 分叉(https://github.com/iksteen/aws-request-signer/fork
  2. 创建功能分支(git checkout -b feature/fooBar
  3. 提交更改(git commit -am 'Add some fooBar'
  4. 推到分支(git push origin feature/fooBar
  5. 创建新的拉取请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在IE10中重新加载另一个帧时,internet explorer Java小程序失败/消失   ThreadLocal变量的java性能   java系统。出来println不是打印输出   java从JAXB类获取元素属性   java组织。天啊。科尔巴。包裹。InvalidName:IDL:omg。org/CORBA/ORB/InvalidName:1.0   java有没有办法让非事务连接抛出异常?   java是否有任何方法可以使用JdbcTemplate和查询/条件Fluent API   javajpa级联类型。刷新不工作?   未考虑java Maven依赖关系管理   java MySQL MBR包含抛出MySQLExceptionError的语句   java验证整数并将其设为5位数   java发现了循环依赖的问题   java Hibernate left join fetch到使用@ManyToMany关联映射的softdeleted实体生成无效查询?   JavaH:commandButton多个操作:下载文件并呈现ajax表   Google Contacts API在Java、C#、Python或Ruby中是否有一个Hello World示例?