【问题标题】:Is there a way to use aiohttp to make API calls that require aws temporary credentials?有没有办法使用 aiohttp 进行需要 aws 临时凭证的 API 调用?
【发布时间】:2021-08-06 05:02:49
【问题描述】:

我正在尝试进行需要 aws 临时凭证(aws_access_key_id、aws_secret_access_key 和 aws_session_token)的异步 API 调用。这些每小时刷新一次。 aiohttp 库有一个类 ClientSession,它有一个可选参数 auth,它接受一个元组。有没有办法将 aws 临时凭据传递给身份验证?

【问题讨论】:

    标签: python amazon-web-services api aiohttp


    【解决方案1】:

    对于ClientSession 类中的auth 参数元组,documentation 声明

    auth (aiohttp.BasicAuth) – 表示 HTTP 基本授权的对象(可选)

    意味着您传递的值需要是基本的身份验证值。 AWS 不使用基本身份验证,它使用 AWS Sigv4 方法创建签名 URL 进行身份验证。

    您可以自己对 URL 进行此签名,可以在 here 找到执行此操作的信息和 python 示例,或者您可以使用为您执行此签名的库,例如 this one 或许多其他库之一那些可用的。

    【讨论】:

    • 你能指出一个使用 requests_aws4auth 的工作示例吗?
    • @Alex 您在哪里可以找到解决方案?我正在尝试找到一种方法将 access_key、secret_key 和令牌传递给 aiohttp
    猜你喜欢
    • 1970-01-01
    • 2020-06-12
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 2016-08-17
    • 2019-12-27
    • 2020-04-25
    相关资源
    最近更新 更多