此包通过添加适用于AWS Lambda环境的GraphQL HTTP处理器扩展了Ariadne库。它使得轻松集成GraphQL服务与AWS无服务器基础设施成为可能,从而使部署GraphQL API变得简单,无需担心底层服务器管理。
项目描述
Ariadne AWS Lambda扩展
此包通过添加适用于AWS Lambda环境的GraphQL HTTP处理器扩展了Ariadne库。它使得轻松集成GraphQL服务与AWS无服务器基础设施成为可能,从而使部署GraphQL API变得简单,无需担心底层服务器管理。
简介
本项目提供对Ariadne GraphQL库的扩展,专门针对在AWS Lambda上部署GraphQL API。它通过提供与AWS Lambda和API Gateway无缝集成的自定义HTTP处理器来简化GraphQL请求的处理,使开发者能够专注于GraphQL模式和解析器,而不是服务器和基础设施管理。
安装
要安装扩展,请使用pip
pip install ariadne-lambda
快速入门
以下是一个在AWS Lambda函数中使用扩展的基本示例
from typing import Any
from ariadne import QueryType, gql, make_executable_schema
from ariadne_lambda.graphql import GraphQLLambda
from asgiref.sync import async_to_sync
from aws_lambda_powertools.utilities.typing import LambdaContext
type_defs = gql(
"""
type Query {
hello: String!
}
"""
)
query = QueryType()
@query.field("hello")
def resolve_hello(_, info):
request = info.context["request"]
user_agent = request.headers.get("user-agent", "guest")
return "Hello, %s!" % user_agent
schema = make_executable_schema(type_defs, query)
graphql_app = GraphQLLambda(schema=schema)
def graphql_http_handler(event: dict[str, Any], context: LambdaContext):
return async_to_sync(graphql_app)(event, context)
文档
关于Ariadne的完整文档,请访问Ariadne文档。有关AWS Lambda的详细信息,请参阅AWS Lambda开发者指南。
特性
- 与AWS Lambda和API Gateway轻松集成。
- 支持GraphQL查询和突变。
- 可定制的上下文和错误处理。
- 无缝扩展Ariadne库以支持无服务器应用。
贡献
我们欢迎对Ariadne的所有贡献!如果您发现了错误或问题,请随意使用GitHub问题。如果您有任何问题或反馈,请随时在GitHub讨论中联系我们。
有关指导和说明,请参阅CONTRIBUTING.md。
同时,请确保您在Twitter上关注@AriadneGraphQL以获取最新更新、新闻和随想!
由Mirumee Software用❤️打造 Mirumee Software hello@mirumee.com
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
ariadne_lambda-0.3.1.tar.gz (11.2 kB 查看散列)
构建分布
ariadne_lambda-0.3.1-py3-none-any.whl (10.5 kB 查看散列)
关闭
ariadne_lambda-0.3.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 92ebc4a38f7477ecf69d9ad198604777457a5bc523821778485a15ec8a3edb64 |
|
MD5 | 22e04492277a9b402480ddb16aa6f508 |
|
BLAKE2b-256 | 4955fe45caeff6457c34bd0d94c797eff1b0701c781183000d2951d25ab0aa20 |
关闭
ariadne_lambda-0.3.1-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | d85a8a226753a3b5a9ac71aaaa72be68b9fdee15c1a701f0110371ca4c1c0630 |
|
MD5 | 04b83536a2f9b391d7198ce0c214306d |
|
BLAKE2b-256 | fadaaf76af3861a38e3c55a9681b03f77a020303f0c30d62fbcb291159e219f8 |