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
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