Вы можете переключить режим аутентификации API на «API KEY» и вызвать мутацию AppSync с http.
Например.
import requests
import json
APPSYNC_API_KEY = 'da2-xxxxxxxxxxxxx'
APPSYNC_API_ENDPOINT_URL = 'https://xxxxxxxxxxxxx.appsync-api.us-west-2.amazonaws.com/graphql'
headers = {
'Content-Type': "application/graphql",
'x-api-key': APPSYNC_API_KEY,
'cache-control': "no-cache",
}
def execute_gql(query):
payload_obj = {"query": query}
payload = json.dumps(payload_obj)
response = requests.request("POST", APPSYNC_API_ENDPOINT_URL, data=payload, headers=headers)
return response
Представьте, что у вас есть модель с именем Items
, и вы можете легко сделать запрос, как показано ниже:
if __name__ == '__main__':
print(execute_gql("query { listItems { items { id name } } }").json())
Просто замените строку операцией мутации.