python - 如何使用 python 通过 Cognito 身份验证调用 AppSync 突变?

标签 python graphql amazon-cognito aws-appsync

是否可以使用 Python 通过 Cognito 身份验证调用 AppSync 突变?怎么办?

我正在尝试使用 boto3,但我没有找到执行 graphql 操作的方法。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/appsync.html

最佳答案

您可以将 API 身份验证模式设置为“API KEY”,并使用 http 调用 AppSync 突变。

例如。

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())

只需用变异操作替换字符串即可。

关于python - 如何使用 python 通过 Cognito 身份验证调用 AppSync 突变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56467994/

相关文章:

amazon-web-services - 使用 AWS Amplify 和 AWS Cognito 进行数据特定授权

amazon-web-services - AWS API Gateway - 将 Cognito 用户组获取到自定义授权方

python - 仅使用套接字的 Python 邮件客户端(无 smtplib)

python - 在 wxPython 中创建异形窗口的最简单方法是什么?

Python 从值列表创建日期时间对象

react-native - React-native Android 应用程序发布版本上的 Graphql 网络错误

javascript - 如何在应用程序组件中的ajax调用响应后再次显示标题侧栏

python - reshape 图像数组

android - Apollo GraphQL - 是否可以执行请求不同字段的相同查询?

ruby-on-rails - GraphQL Ruby N+1 批处理问题