boto3 eks 客户端如何生成预先签名的 url

时间:2021-05-11 15:25:08

标签: python boto3 amazon-eks

我正在尝试更新 EKS 部署中的 docker 映像。我正在从 lambda 函数运行 python 代码。但是,我不知道如何使用 generate_presigned_url()。我应该传递什么作为 ClientMethod 参数???

import boto3

client = boto3.client("eks")
url = client.generate_presigned_url()

2 个答案:

答案 0 :(得分:0)

这些是您可以在 EKS 情况下执行的 clientMethods。

'associate_encryption_config'
'associate_identity_provider_config'
'can_paginate'
'create_addon'
'create_cluster'
'create_fargate_profile'
'create_nodegroup'
'delete_addon'
'delete_cluster'
'delete_fargate_profile'
'delete_nodegroup'
'describe_addon'
'describe_addon_versions'
'describe_cluster'
'describe_fargate_profile'
'describe_identity_provider_config'
'describe_nodegroup'
'describe_update'
'disassociate_identity_provider_config'
'generate_presigned_url'
'get_paginator'
'get_waiter'
'list_addons'
'list_clusters'
'list_fargate_profiles'
'list_identity_provider_configs'
'list_nodegroups'
'list_tags_for_resource'
'list_updates'
'tag_resource'
'untag_resource'
'update_addon'
'update_cluster_config'
'update_cluster_version'
'update_nodegroup_config'
'update_nodegroup_version'

您可以在此处的文档中获取有关这些方法的更多信息:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/eks.html#client

答案 1 :(得分:0)

两个多星期后,我想您已经找到了答案,无论如何,提到的 ClientMethod(并且,在 boto3 文档中没有很好地解释)只是 一个您可以与 EKS 客户端本身一起使用的方法。老实说,我认为这就是 KnowledgeGainer 试图通过列出所有方法来表达的意思,基本上你可以选择一种。这将为您提供预先签名的 URL。

例如,这里我使用了一种不需要任何额外参数的方法,list_clusters

>>> import boto3
>>> client = boto3.client("eks")
>>> client.generate_presigned_url("list_clusters")
'https://eks.eu-west-1.amazonaws.com/clusters?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQKOXLHHBFT756PNG%2F20210528%2Feu-west-1%2Feks%2Faws4_request&X-Amz-Date=20210528T014603Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d25dNCC17013ad9bc75c04b6e067105c23199c23cbadbbbeForExample'

如果该方法需要任何其他参数,您可以将它们作为字典添加到 Params 中:

>>> method_params = {'name': <your_cluster_name>}
>>> client.generate_presigned_url('describe_cluster', Params=method_params)
相关问题