我试图以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." }
我假设这是我的访问权限和密钥的问题,如果是这样的话,我是否错过了获取正确访问/密钥的任何步骤?
答案 0 :(得分:3)
您还需要获取安全令牌并将其传递。您可以将其作为:
获取token = credentials.token