在哪里可以找到使用boto3编写自定义AWS凭证提供程序的文档?

普拉博德·玛吉

我希望创建一个Python进程来在运行时刷新临时AWS凭证(有效期为30分钟),以确保我的代码可以连续运行30分钟以上。

什么是RefreshableCredentials?如何使用?

普拉博德·玛吉

经过一番摸索,我终于得出结论,没有记录botocore和boto3类。

我查看了源代码,并实现了适用于我的用例的解决方案。将其发布在这里供其他人参考。

class AWSCredsRefresh:

    def run(self):
        session = get_session()
        cred_provider = session.get_component('credential_provider')

        cred_provider.insert_before('env', CustomCredentialProvider())

        boto3_session = Session(botocore_session=session)
        #Perform AWS operations with boto3_session

class CustomCredentialProvider(CredentialProvider):
    CANONICAL_NAME = "custom-creds"

    def __init__(self):


    def load(self):
        #These creds will be automatically refreshed using the _refreh method if the current creds are going to expire in 15 mins or less
        creds = DeferredRefreshableCredentials(refresh_using=self._refresh, method="sts-assume-role",)
        return creds

    def _refresh(self):
        #Refresh your AWS creds using custom process
        response = self._custom_aws_cred_refresh()
        credentials = {
            "access_key": response.get("AccessKeyId"),
            "secret_key": response.get("SecretAccessKey"),
            "token": response.get("SessionToken"),
            "expiry_time": response.get("Expiration").isoformat(),
        }
        return credentials

    def _custom_aws_cred_refresh(self):
        #Your custom AWS cred refresh code
        return response


if __name__ == '__main__':
    obj = AWSCredsRefresh()
    obj.run()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

boto3,Windows上的凭证文件在哪里?

来自分类Dev

AWS:在哪里可以找到 API Gateway 自定义授权人的 ID?

来自分类Dev

在哪里可以找到“自定义开/关”选项?

来自分类Dev

如何使用样式表自定义 Docbook?我在哪里可以找到好的资源?

来自分类Dev

在DAG中使用boto3时,Apache airflow无法找到AWS凭证

来自分类Dev

编写Boto3过滤器以使用自定义标签名称的正确方法是什么?

来自分类Dev

自定义凭证提供程序问题-Swift2.2,AWS 2.4.9,AWSCredentials AWSCredentialsProvider

来自分类Dev

在哪里可以找到有关自定义USB描述符类型的信息

来自分类Dev

将自定义功能编程到Verifone或Ingenico中-在哪里可以找到SDK?

来自分类Dev

在哪里可以找到Google自定义搜索API的国家/地区代码值列表?

来自分类Dev

如何告诉UI5在哪里可以找到我的自定义模块?

来自分类Dev

在哪里可以找到有关自定义USB描述符类型的信息

来自分类Dev

将自定义功能编程到Verifone或Ingenico中-在哪里可以找到SDK?

来自分类Dev

在哪里可以找到处理目录文件的jaxb gradle插件或自定义任务?

来自分类Dev

在哪里可以找到Google的自定义搜索API的国家/地区代码值列表?

来自分类Dev

在哪里可以找到自定义 crontab 任务的输出日志

来自分类Dev

在哪里可以找到 Drupal 目录中的自定义内容类型相关文件?

来自分类Dev

在 Laravel 中在哪里编写自定义助手?

来自分类Dev

在哪里可以共享我的自定义脚本?

来自分类Dev

使用Boto3创建存储桶时如何添加自定义标头?

来自分类Dev

自定义异常的处理程序在哪里

来自分类Dev

在哪里可以找到JobScheduler调试文档

来自分类Dev

在哪里可以找到hplip调试文档?

来自分类Dev

在哪里可以找到最新的Swift文档?

来自分类Dev

在哪里可以找到Texinfo文档?

来自分类Dev

在哪里可以找到ioctl EVIOCGRAB的文档?

来自分类Dev

在哪里可以找到Readline文档?

来自分类Dev

在哪里可以找到 AndroidViewClient 文档?

来自分类Dev

在哪里可以找到 AWS S3 部署密钥

Related 相关文章

  1. 1

    boto3,Windows上的凭证文件在哪里?

  2. 2

    AWS:在哪里可以找到 API Gateway 自定义授权人的 ID?

  3. 3

    在哪里可以找到“自定义开/关”选项?

  4. 4

    如何使用样式表自定义 Docbook?我在哪里可以找到好的资源?

  5. 5

    在DAG中使用boto3时,Apache airflow无法找到AWS凭证

  6. 6

    编写Boto3过滤器以使用自定义标签名称的正确方法是什么?

  7. 7

    自定义凭证提供程序问题-Swift2.2,AWS 2.4.9,AWSCredentials AWSCredentialsProvider

  8. 8

    在哪里可以找到有关自定义USB描述符类型的信息

  9. 9

    将自定义功能编程到Verifone或Ingenico中-在哪里可以找到SDK?

  10. 10

    在哪里可以找到Google自定义搜索API的国家/地区代码值列表?

  11. 11

    如何告诉UI5在哪里可以找到我的自定义模块?

  12. 12

    在哪里可以找到有关自定义USB描述符类型的信息

  13. 13

    将自定义功能编程到Verifone或Ingenico中-在哪里可以找到SDK?

  14. 14

    在哪里可以找到处理目录文件的jaxb gradle插件或自定义任务?

  15. 15

    在哪里可以找到Google的自定义搜索API的国家/地区代码值列表?

  16. 16

    在哪里可以找到自定义 crontab 任务的输出日志

  17. 17

    在哪里可以找到 Drupal 目录中的自定义内容类型相关文件?

  18. 18

    在 Laravel 中在哪里编写自定义助手?

  19. 19

    在哪里可以共享我的自定义脚本?

  20. 20

    使用Boto3创建存储桶时如何添加自定义标头?

  21. 21

    自定义异常的处理程序在哪里

  22. 22

    在哪里可以找到JobScheduler调试文档

  23. 23

    在哪里可以找到hplip调试文档?

  24. 24

    在哪里可以找到最新的Swift文档?

  25. 25

    在哪里可以找到Texinfo文档?

  26. 26

    在哪里可以找到ioctl EVIOCGRAB的文档?

  27. 27

    在哪里可以找到Readline文档?

  28. 28

    在哪里可以找到 AndroidViewClient 文档?

  29. 29

    在哪里可以找到 AWS S3 部署密钥

热门标签

归档