每月调用一次 public GraphQL API

Call a public GraphQL API once a month

我想每月调用一个 public GraphQL API 来处理一些次要的业务逻辑。

我了解了 Posthook,但不清楚如何使用它来调用 GraphQL API。 Posthook 似乎只支持 REST。

执行此操作的简单可靠方法是什么?使用 AWS Lambda 有意义还是有更简单的方法?

GraphQL 服务通常 interact with clients over HTTPPOST 请求。客户端在请求中发送 JSON 并在响应中接收 JSON。

一些用例受益于 GraphQL 客户端库,例如 Apollo Client,但普通的旧 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"}}}

An AWS Lambda (AWS's serverless function service) would be a fine way to implement a scheduled GraphQL api call and apply business logic. The Lambda service integrates well with cron-scheduled triggering and results notification. It's easy to get started. You can set up the service by pointing-and-clicking in the AWS console. Or use a infrastructure-as-code library like AWS's SAM (i.e. define your infra in YAML) or CDK(即在 JS/Python/etc 中定义您的基础设施)。或者以更多的方式。

其他云提供商也有类似的产品,任君选择。