我试图以requests.get(url, auth=auth)的形式在Lambda函数中调用API调用。

我有API端点的url,但授权部分存在问题。我导入了一个等效的Requests-aws4auth程序包,并通过遵循these instructions从Boto3获取访问密钥和秘密密钥。

session = boto3.Session()
credentials = session.get_credentials()
credentials = credentials.get_frozen_credentials()
access_key = credentials.access_key
secret_key = credentials.secret_key
auth = AWS4AuthHandler(access_key=access_key, secret_key=secret_key, service_name='execute-api', region_name='us-west-2')
brand_info = requests.get(url, auth=auth).json()


但是,brand_info返回:

{"message": "The security token included in the request is invalid." }


我假设这是我的访问和密钥的问题,如果是这样,我是否缺少任何步骤来获取正确的访问/密钥?

最佳答案

您还需要获取安全令牌并将其传递。您可以通过以下方式获得它:

token = credentials.token

关于python - AWS授权书代码-{“消息”:“请求中包含的安全 token 无效。”},我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48214088/

10-11 09:14