GraphqlApiProps Struct
Properties for an AppSync GraphQL API.
Example
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,
},
});
Properties
authorizationConfigoptionalAuthorizationConfigauthorization_configoptionalAuthorizationConfigauthorizationConfigoptionalAuthorizationConfigAuthorizationConfigoptionalAuthorizationConfigAuthorizationConfigoptionalAuthorizationConfig#Default: API Key authorization
definitionoptionalDefinitiondefinitionoptionalDefinitiondefinitionoptionalDefinitionDefinitionoptionalDefinitionDefinitionoptionalDefinition#domainNameoptionalDomainOptionsdomain_nameoptionalDomainOptionsdomainNameoptionalDomainOptionsDomainNameoptionalDomainOptionsDomainNameoptionalDomainOptions#Default: no domain name
The Route 53 hosted zone and CName DNS record must be configured in addition to this setting to enable custom domain URL
enhancedMetricsConfigoptionalEnhancedMetricsConfigenhanced_metrics_configoptionalEnhancedMetricsConfigenhancedMetricsConfigoptionalEnhancedMetricsConfigEnhancedMetricsConfigoptionalEnhancedMetricsConfigEnhancedMetricsConfigoptionalEnhancedMetricsConfig#Default: Enhanced metrics disabled.
environmentVariablesoptional{ [key: string]: string }environment_variablesoptionaltyping.Mapping[str, str]environmentVariablesoptionalMap<String, String>EnvironmentVariablesoptionalIDictionary<string, string>EnvironmentVariablesoptional*map[string]*string#Default: No environment variables.
notes
There are a few rules you must follow when creating keys and values:
- Keys must begin with a letter.
- Keys must be between 2 and 64 characters long.
- Keys can only contain letters, numbers, and the underscore character (_).
- Values can be up to 512 characters long.
- You can configure up to 50 key-value pairs in a GraphQL API.
introspectionConfigoptionalIntrospectionConfigintrospection_configoptionalIntrospectionConfigintrospectionConfigoptionalIntrospectionConfigIntrospectionConfigoptionalIntrospectionConfigIntrospectionConfigoptionalIntrospectionConfig= IntrospectionConfig.ENABLED#logConfigoptionalLogConfiglog_configoptionalLogConfiglogConfigoptionalLogConfigLogConfigoptionalLogConfigLogConfigoptionalLogConfig= None#ownerContactoptionalstringowner_contactoptionalstrownerContactoptionalStringOwnerContactoptionalstringOwnerContactoptional*string#Default: No owner contact.
This field accepts any string input with a length of 0 - 256 characters.
queryDepthLimitoptionalnumberquery_depth_limitoptionalint | floatqueryDepthLimitoptionalNumberQueryDepthLimitoptionaldoubleQueryDepthLimitoptional*float64#Default: The default value is 0 (or unspecified) which indicates no maximum depth.
Value must be withing range of 0 to 75
resolverCountLimitoptionalnumberresolver_count_limitoptionalint | floatresolverCountLimitoptionalNumberResolverCountLimitoptionaldoubleResolverCountLimitoptional*float64#Default: The default value is 0 (or unspecified), which will set the limit to 10000
Value must be withing range of 0 to 10000
schemaoptionalISchemaschemaoptionalISchemaschemaoptionalISchemaSchemaoptionalISchemaSchemaoptionalISchemadeprecated#Default: schema will be generated code-first (i.e. addType, addObjectType, etc.)
SchemaFile.fromAsset(filePath: string) allows schema definition through schema.graphql file
visibilityoptionalVisibilityvisibilityoptionalVisibilityvisibilityoptionalVisibilityVisibilityoptionalVisibilityVisibilityoptionalVisibility= GLOBAL#xrayEnabledoptionalbooleanxray_enabledoptionalboolxrayEnabledoptionalBooleanXrayEnabledoptionalboolXrayEnabledoptional*bool= false#