我正在尝试以 requests.get(url, auth=auth)
的形式在我的 Lambda 函数中调用 API。
我有 API 端点的 url,但我在其中的授权部分遇到问题。我导入了一个等效的 Requests-aws4auth 包,并通过关注 these instructions 从 Boto3 获取我的访问 key 和 secret key 。 .
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." }
我假设这是我的访问 key 和 secret key 的问题,如果是这样,我是否遗漏了任何获取正确访问/ secret key 的步骤?
最佳答案
您还需要获取安全 token 并将其传递。您可以通过以下方式获取它:
token = credentials.token
关于python - 代码中的 AWS 授权 - {"message": "The security token included in the request is invalid." },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214088/