【发布时间】:2022-01-20 19:17:49
【问题描述】:
我想每月调用一个公共 GraphQL API 并带有一些小的业务逻辑。
我阅读了有关 Posthook 的信息,但不清楚如何使用它来调用 GraphQL API。 Posthook 似乎只支持 REST。
有什么简单可靠的方法可以做到这一点?使用 AWS Lambda 有意义还是有更简单的方法?
【问题讨论】:
标签: cron graphql scheduled-tasks
我想每月调用一个公共 GraphQL API 并带有一些小的业务逻辑。
我阅读了有关 Posthook 的信息,但不清楚如何使用它来调用 GraphQL API。 Posthook 似乎只支持 REST。
有什么简单可靠的方法可以做到这一点?使用 AWS Lambda 有意义还是有更简单的方法?
【问题讨论】:
标签: cron graphql scheduled-tasks
GraphQL 服务通常是 interact with clients over HTTP 和 POST 请求。客户端在请求中发送 JSON,在响应中接收 JSON。
一些用例受益于像 Apollo Client 这样的 GraphQL 客户端库,但普通的旧 cURL 可以正常工作:
# request
curl --location --request POST 'https://swapi-graphql.netlify.app/.netlify/functions/index' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"query Query($filmId: ID) {\n film(filmID: $filmId) {\n title\n }\n}","variables":{"filmId":1}}'
# response
{"data":{"film":{"title":"A New Hope"}}}
AWS Lambda(AWS 的无服务器功能服务)将是实现计划的 GraphQL api 调用和应用业务逻辑的好方法。 Lambda 服务与cron-scheduled triggering 和results notification 很好地集成在一起。这很容易to get started。您可以通过在 AWS 控制台中单击来设置服务。或者使用基础设施即代码库,如 AWS 的 SAM(即在 YAML 中定义您的基础设施)或 CDK(即在 JS/Python/等中定义您的基础设施)。或者以更多方式。
其他云提供商也有类似的产品,请自行选择。
【讨论】: