跳转到主要内容

此包通过添加适用于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 查看散列)

上传时间 Python 3

由以下机构支持