部署之前如何从@ aws-cdk / aws-appsync检索schema.graphql文件

时间:2020-09-21 14:08:25

标签: amazon-web-services graphql aws-appsync aws-cdk cdk

我正在使用code-first approach in @aws-cdk/aws-appsync来生成我的graphql模式。为了生成Typescript代码,我需要一种在部署之前检索schema.graphql的方法(也许以某种方式从cdk synth命令中提取它?)。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

我不确定我们是否面临同样的问题。基本上,我想在客户端react应用程序中访问GQL模式,该应用程序与定义基础结构的cdk应用程序位于不同的存储库中。

我最终使用aws-cli通过以下命令提取了appsync模式:

aws appsync get-introspection-schema --api-id [API-ID] --format SDL --no-include-directives outfile=[OUTFILE]

答案 1 :(得分:0)

要在部署之前获取自动创建的架构,请使用以下脚本:

readFile('cdk.out/<YOUR-APP-NAME>.template.json', 'utf8', (err, data) => {
  if (err) {
    throw err;
  }
  const definition = JSON.parse(data)
    .Resources
    .<YOUR-SCHEMA-ID> // replace with your schema id
    .Properties
    .Definition;
  writeFile('lib/domain/generated.graphql', definition, (error) => {
    if (error) throw error;
  });
});