每月调用一次 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 HTTP 有 POST
请求。客户端在请求中发送 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 中定义您的基础设施)。或者以更多的方式。
其他云提供商也有类似的产品,任君选择。
我想每月调用一个 public GraphQL API 来处理一些次要的业务逻辑。
我了解了 Posthook,但不清楚如何使用它来调用 GraphQL API。 Posthook 似乎只支持 REST。
执行此操作的简单可靠方法是什么?使用 AWS Lambda 有意义还是有更简单的方法?
GraphQL 服务通常 interact with clients over HTTP 有 POST
请求。客户端在请求中发送 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 中定义您的基础设施)。或者以更多的方式。
其他云提供商也有类似的产品,任君选择。