import json import requests from requests_aws4auth import AWS4Auth import boto3 def appsync_query_iam(api_url, region_name, query, variables=None): method = 'POST' headers = {} body_json = { "query": query} if variables is not None: body_json["variables"] = variables session = boto3.session.Session() c = session.get_credentials() body = json.dumps(body_json) url = api_url auth = AWS4Auth(c.access_key, c.secret_key, region_name, "appsync", session_token=c.token) response = requests.request(method, url, auth=auth, data=body, headers=headers) #print(response.__dict__) return response