AWS会话管理
aws-session-management的Python项目详细描述
AWS会话管理
此包包含
AwsSessionManagement-通过假设一个给定的角色来处理AWS会话 它在需要时更新临时凭据 这个库有助于使boto3客户机保持最新的aws temp证书
用法:
此示例显示如何使用新的临时凭据管理AWSRequestAuth对象 这些凭据将由AWSSessionManagement类自动刷新
使用以下库:
导入请求 导入aws\u requests\u auth(https://github.com/DavidMuller/aws-requests-auth)
def get_auth(self):
auth = None
if self.awsSessionManagement is not None:
aws_access_key_id, aws_secret_access_key, aws_session_token = self.awsSessionManagement.get_aws_credentials()
if aws_access_key_id is not None and aws_secret_access_key is not None and aws_session_token is not None:
logger.debug("got aws credentials, using for authentication")
auth = AWSRequestsAuth(aws_access_key=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
aws_token=aws_session_token,
aws_host=f'{self.wmc_api_id}.execute-api.{self.wmc_api_region}.amazonaws.com',
aws_region=self.wmc_api_region,
aws_service='execute-api')
else:
logger.warning("ALL the retrieved aws credentials are None, not using authentication!")
return auth
headers = {'content-type': 'application/json'}
json_data = {"a": 'a_value', "b": 'b_value'}
data = json.dumps(json_data)
response = requests.post(url=f"{self.api_gateway}/abc", auth=self.get_auth(), data=data, headers=headers)
或者,您也可以使用AwsSessionManagement,如下所示:
^{pr2}$- 项目
标签: