Skip to content
v2.273.0

SchemaFile Class ​

The Schema for a GraphQL Api.

If no options are configured, schema will be generated code-first.

Example ​

ts
const schema = new appsync.SchemaFile({ filePath: 'mySchemaFile' })
new appsync.GraphqlApi(this, 'api', {
  name: 'myApi',
  definition: appsync.Definition.fromSchema(schema),
  enhancedMetricsConfig: {
    dataSourceLevelMetricsBehavior: appsync.DataSourceLevelMetricsBehavior.FULL_REQUEST_DATA_SOURCE_METRICS,
    operationLevelMetricsConfig: appsync.OperationLevelMetricsConfig.ENABLED,
    resolverLevelMetricsBehavior: appsync.ResolverLevelMetricsBehavior.FULL_REQUEST_RESOLVER_METRICS,
  },
});
python
schema = appsync.SchemaFile(file_path="mySchemaFile")
appsync.GraphqlApi(self, "api",
    name="myApi",
    definition=appsync.Definition.from_schema(schema),
    enhanced_metrics_config=appsync.EnhancedMetricsConfig(
        data_source_level_metrics_behavior=appsync.DataSourceLevelMetricsBehavior.FULL_REQUEST_DATA_SOURCE_METRICS,
        operation_level_metrics_config=appsync.OperationLevelMetricsConfig.ENABLED,
        resolver_level_metrics_behavior=appsync.ResolverLevelMetricsBehavior.FULL_REQUEST_RESOLVER_METRICS
    )
)
java
SchemaFile schema = SchemaFile.Builder.create().filePath("mySchemaFile").build();
GraphqlApi.Builder.create(this, "api")
        .name("myApi")
        .definition(Definition.fromSchema(schema))
        .enhancedMetricsConfig(EnhancedMetricsConfig.builder()
                .dataSourceLevelMetricsBehavior(DataSourceLevelMetricsBehavior.FULL_REQUEST_DATA_SOURCE_METRICS)
                .operationLevelMetricsConfig(OperationLevelMetricsConfig.ENABLED)
                .resolverLevelMetricsBehavior(ResolverLevelMetricsBehavior.FULL_REQUEST_RESOLVER_METRICS)
                .build())
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
var schema = new SchemaFile(new SchemaProps { FilePath = "mySchemaFile" });
new GraphqlApi(this, "api", new GraphqlApiProps {
    Name = "myApi",
    Definition = Definition.FromSchema(schema),
    EnhancedMetricsConfig = new EnhancedMetricsConfig {
        DataSourceLevelMetricsBehavior = DataSourceLevelMetricsBehavior.FULL_REQUEST_DATA_SOURCE_METRICS,
        OperationLevelMetricsConfig = OperationLevelMetricsConfig.ENABLED,
        ResolverLevelMetricsBehavior = ResolverLevelMetricsBehavior.FULL_REQUEST_RESOLVER_METRICS
    }
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
schema := appsync.NewSchemaFile(&SchemaProps{
	FilePath: jsii.String("mySchemaFile"),
})
appsync.NewGraphqlApi(this, jsii.String("api"), &GraphqlApiProps{
	Name: jsii.String("myApi"),
	Definition: appsync.Definition_FromSchema(schema),
	EnhancedMetricsConfig: &EnhancedMetricsConfig{
		DataSourceLevelMetricsBehavior: appsync.DataSourceLevelMetricsBehavior_FULL_REQUEST_DATA_SOURCE_METRICS,
		OperationLevelMetricsConfig: appsync.OperationLevelMetricsConfig_ENABLED,
		ResolverLevelMetricsBehavior: appsync.ResolverLevelMetricsBehavior_FULL_REQUEST_RESOLVER_METRICS,
	},
})

Initializer ​

ts
new SchemaFile(options: SchemaProps)
python
SchemaFile(options: SchemaProps)
java
new SchemaFile(SchemaProps options)
csharp
new SchemaFile(SchemaProps options)
go
NewSchemaFile(Options SchemaProps)

Properties ​

definitionstringdefinitionstrdefinitionStringDefinitionstringDefinition*stringrequired#
The definition for this schema.

Methods ​

bind(api: IGraphQLApiRef, _options?: SchemaBindOptions): ISchemaConfigdef bind(self, api: IGraphQLApiRef, _options: typing.Optional[SchemaBindOptions] = None) -> ISchemaConfigpublic ISchemaConfig bind(IGraphQLApiRef api, SchemaBindOptions _options)public ISchemaConfig Bind(IGraphQLApiRef api, SchemaBindOptions? _options = null)func Bind(Api IGraphQLApiRef, _options SchemaBindOptions) ISchemaConfig#
Called when the GraphQL Api is initialized to allow this object to bind to the stack.
1 parameter

Parameters

  • apiapiapiapiApi — The binding GraphQL Api.
fromAsset(filePath: string): SchemaFile // chainable@staticmethod def from_asset(file_path: str) -> SchemaFilepublic static SchemaFile fromAsset(String filePath)public static SchemaFile FromAsset(string filePath)func FromAsset(FilePath *string) SchemaFilestatic#
Generate a Schema from file.
1 parameter · returns

Parameters

  • filePathfile_pathfilePathfilePathFilePath — the file path of the schema file.

Returns: SchemaAsset with immutable schema definition