Bicep 资源定义
可以使用目标操作部署 appSyncGraphqlApis 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.AwsConnector/appSyncGraphqlApis 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.AwsConnector/appSyncGraphqlApis@2024-12-01' = {
location: 'string'
name: 'string'
properties: {
arn: 'string'
awsAccountId: 'string'
awsProperties: {
additionalAuthenticationProviders: [
{
authenticationType: {
value: 'string'
}
lambdaAuthorizerConfig: {
authorizerResultTtlInSeconds: int
authorizerUri: 'string'
identityValidationExpression: 'string'
}
openIDConnectConfig: {
authTTL: int
clientId: 'string'
iatTTL: int
issuer: 'string'
}
userPoolConfig: {
appIdClientRegex: 'string'
awsRegion: 'string'
userPoolId: 'string'
}
}
]
apiId: 'string'
apiType: {
value: 'string'
}
arn: 'string'
authenticationType: {
value: 'string'
}
dns: {
{customized property}: 'string'
}
enhancedMetricsConfig: {
dataSourceLevelMetricsBehavior: {
value: 'string'
}
operationLevelMetricsConfig: {
value: 'string'
}
resolverLevelMetricsBehavior: {
value: 'string'
}
}
introspectionConfig: {
value: 'string'
}
lambdaAuthorizerConfig: {
authorizerResultTtlInSeconds: int
authorizerUri: 'string'
identityValidationExpression: 'string'
}
logConfig: {
cloudWatchLogsRoleArn: 'string'
excludeVerboseContent: bool
fieldLogLevel: {
value: 'string'
}
}
mergedApiExecutionRoleArn: 'string'
name: 'string'
openIDConnectConfig: {
authTTL: int
clientId: 'string'
iatTTL: int
issuer: 'string'
}
owner: 'string'
ownerContact: 'string'
queryDepthLimit: int
resolverCountLimit: int
tags: {
{customized property}: 'string'
}
uris: {
{customized property}: 'string'
}
userPoolConfig: {
appIdClientRegex: 'string'
awsRegion: 'string'
defaultAction: {
value: 'string'
}
userPoolId: 'string'
}
visibility: {
value: 'string'
}
wafWebAclArn: 'string'
xrayEnabled: bool
}
awsRegion: 'string'
awsSourceSchema: 'string'
awsTags: {
{customized property}: 'string'
}
publicCloudConnectorsResourceId: 'string'
publicCloudResourceName: 'string'
}
tags: {
{customized property}: 'string'
}
}
属性值
Microsoft.AwsConnector/appSyncGraphqlApis
名字 |
描述 |
价值 |
位置 |
资源所在的地理位置 |
string (必需) |
名字 |
资源名称 |
字符串
约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 |
此资源的资源特定属性。 |
AppSyncGraphqlApiProperties |
标签 |
资源标记 |
标记名称和值的字典。 请参阅模板 中的 标记 |
AdditionalAuthenticationProvider
AppSyncGraphqlApiProperties
AuthenticationTypeEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“AMAZON_COGNITO_USER_POOLS” “API_KEY” “AWS_IAM” “AWS_LAMBDA” “OPENID_CONNECT” |
AwsAppSyncGraphqlApiProperties
名字 |
描述 |
价值 |
additionalAuthenticationProviders |
<p>GraphqlApi</code> API 的 <>代码的其他身份验证提供程序列表。</p> |
AdditionalAuthenticationProvider[] |
apiId 的 |
<p>API ID。</p> |
字符串 |
api类型 |
<p>指示 GraphQL API 是标准 API(<代码>GRAPHQL</code>)还是合并 API(<代码>MERGED</code>)。</p> |
GraphQLApiTypeEnumValue |
阿恩 |
<p>Amazon 资源名称 (ARN)。</p> |
字符串 |
验证类型 |
<p>身份验证类型。</p> |
AuthenticationTypeEnumValue |
DNS(域名系统) |
<p>API 的 DNS 记录。</p> |
AwsAppSyncGraphqlApiPropertiesDns |
enhancedMetricsConfig |
<p><代码>enhancedMetricsConfig</code> 对象。</p> |
EnhancedMetricsConfig |
introspectionConfig |
<p>设置 GraphQL API 的值以启用(<代码>ENABLED</code>)或禁用(<代码>DISABLED</code>) 反省。 如果未提供任何值,则默认情况下,内省配置将设置为 <代码>ENABLED</code>。 如果操作尝试在禁用此字段时使用反省功能,则此字段将生成错误。</p><p>有关反省的详细信息,请参阅 <href='https://graphql.org/learn/introspection/'>GraphQL 反省</a /a>。</p> |
GraphQLApiIntrospectionConfigEnumValue |
lambdaAuthorizerConfig |
<p>Lambda 函数授权的配置。</p> |
LambdaAuthorizerConfig |
logConfig |
<p>Amazon CloudWatch 日志配置。</p> |
日志配置 |
mergedApiExecutionRoleArn |
<p>合并 API 的标识和访问管理服务角色 ARN。 AppSync 服务代表合并 API 承担此角色,以验证运行时对源 API 的访问,并提示 <代码>AUTO_MERGE</code> 自动更新合并的 API 终结点。</p> |
字符串 |
名字 |
<p>API 名称。</p> |
字符串 |
openIDConnectConfig |
<p>OpenID Connect 配置。</p> |
OpenIDConnectConfig |
所有者 |
<p>GraphQL API 的帐户所有者。</p> |
字符串 |
业主联系方式 |
<p>API 资源的所有者联系信息。</p><p>此字段接受长度为 0 - 256 个字符的任何字符串输入。</p> |
字符串 |
查询深度限制 |
<p>单个请求中查询可以具有的最大深度。 深度是指查询正文中允许的嵌套级别量。 默认值为 <代码>0</code>(或未指定),表示没有深度限制。 如果设置了限制,则可以在 <代码>1</code> 之间,<代码>75</code> 嵌套级别。 如果操作超出边界,此字段将产生限制错误。</p><p>请注意,字段仍可设置为可为 null 或不可为 null。 如果不可为 null 的字段生成错误,则错误将向上引发到第一个可为 null 的字段。</p> |
整数 (int) |
resolverCountLimit |
<p>单个请求中可以调用的最大解析程序数。 默认值为 <代码>0</code>(或未指定),它将限制设置为 <代码>10000</code>。 指定时,限制值可以是 <代码>1</code>,<代码>10000</code>。 如果操作超出边界,此字段将产生限制错误。</p> |
整数 (int) |
标签 |
<p>标记。</p> |
AwsAppSyncGraphqlApiPropertiesTags |
URI |
<p>URI。</p> |
AwsAppSyncGraphqlApiPropertiesUris |
用户池配置 |
<p>Amazon Cognito 用户池配置。</p> |
UserPoolConfig 用户池 |
能见度 |
<p>将 GraphQL API 的值设置为公共(<代码>GLOBAL</code>) 或私有(<代码>PRIVATE</code>)。 如果未提供任何值,则默认情况下,可见性将设置为 <代码>GLOBAL</code>。 创建 API 后,无法更改此值。</p> |
GraphQLApiVisibilityEnumValue |
wafWebAclArn |
<p>与此 <代码关联的 WAF 访问控制列表 (ACL)的 ARN>GraphqlApi</code>(如果存在)。</p> |
字符串 |
xray已启用 |
<p>指示是否为此 <代码使用 X 射线跟踪的标志,>GraphqlApi</code>。</p> |
布尔 |
AwsAppSyncGraphqlApiPropertiesDns
AwsAppSyncGraphqlApiPropertiesUris
CognitoUserPoolConfig
名字 |
描述 |
价值 |
appIdClientRegex |
<p>用于验证传入的 Amazon Cognito 用户池应用客户端 ID 的正则表达式。 如果未设置此值,则不应用筛选。</p> |
字符串 |
awsRegion |
<p>在其中创建用户池的 Amazon Web Services 区域。</p> |
字符串 |
用户池 ID |
<p>用户池 ID。</p> |
字符串 |
DataSourceLevelMetricsBehaviorEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“FULL_REQUEST_DATA_SOURCE_METRICS” “PER_DATA_SOURCE_METRICS” |
DefaultActionEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“ALLOW” “DENY” |
EnhancedMetricsConfig
名字 |
描述 |
价值 |
dataSourceLevelMetricsBehavior |
<p>控制如何将数据源指标发送到 CloudWatch。 数据源指标包括:</p><ul><li><p>请求:请求期间发生的调用数。</p></li><li><p>延迟:完成数据源调用的时间。</p></li><li><p>错误:数据源调用期间发生的错误数。</p></li></ul><p>这些指标可以针对每个数据源或请求中的所有数据源向 CloudWatch 发出。 指标将由 API ID 和数据源名称记录。
<代码>dataSourceLevelMetricsBehavior</code> 接受以下值之一:</p><ul><li><p><代码>FULL_REQUEST_DATA_SOURCE_METRICS</code>:记录并发出请求中所有数据源的指标数据。</p></li><li><p><代码>PER_DATA_SOURCE_METRICS</code>:记录并发出 <代码>metricsConfig</code> 值设置为 enableD</code><代码>的数据源的指标数据。</p></li></ul> |
DataSourceLevelMetricsBehaviorEnumValue |
operationLevelMetricsConfig |
<p> 控制如何将操作指标发送到 CloudWatch。 操作指标包括:</p><ul><li><p>请求:调用指定的 GraphQL 操作的次数。</p></li><li><p>GraphQL 错误:指定 GraphQL 操作期间发生的 GraphQL 错误数。</p></li></ul><p>指标将由 API ID 和操作名称记录。 可以将该值设置为 <代码>ENABLED</code> 或 <代码>DISABLED</code>。</p> |
OperationLevelMetricsConfigEnumValue |
resolverLevelMetricsBehavior |
<p>控制解析程序指标如何发送到 CloudWatch。 解析程序指标包括:</p><ul><li><p>GraphQL 错误:发生的 GraphQL 错误数。</p></li><li><p>请求:请求期间发生的调用数。
</p></li><li><p>延迟:完成解析程序调用的时间。</p></li><li><p>缓存命中数:请求期间的缓存命中数。</p></li><li><p>缓存未命中数:请求期间缓存未命中次数。</p></li></ul><p>这些指标可以针对每个解析程序或请求中的所有解析程序向 CloudWatch 发出。 指标将由 API ID 和解析程序名称记录。
<代码>resolverLevelMetricsBehavior</code> 一次接受以下值之一:</p><ul><li><p><代码>FULL_REQUEST_RESOLVER_METRICS</code>:记录和发出请求中的所有解析程序的指标数据。</p></li><li><p><代码>PER_RESOLVER_METRICS</code>:记录并发出 <代码>metricsConfig</code> 值设置为 <代码>ENABLED</code>的解析程序的指标数据。</p></li></ul> |
ResolverLevelMetricsBehaviorEnumValue |
FieldLogLevelEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“ALL” “ERROR” “NONE” |
GraphQLApiIntrospectionConfigEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“DISABLED” “ENABLED” |
GraphQLApiTypeEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“GRAPHQL” “MERGED” |
GraphQLApiVisibilityEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“GLOBAL” “PRIVATE” |
LambdaAuthorizerConfig
名字 |
描述 |
价值 |
authorizerResultTtlInSeconds |
<p>应缓存响应的秒数。 默认值为 0 秒,这会禁用缓存。 如果未为 <代码指定值,>authorizerResultTtlInSeconds</code>,则使用默认值。 最大值为一小时(3600 秒)。 Lambda 函数可以通过在其响应中返回<ttlOverride>/code< 键 >代码来替代此代码。</p> |
整数 (int) |
authorizerUri |
<p>要调用的 Lambda 函数的 Amazon 资源名称(ARN)进行授权。 这可以是标准 Lambda ARN、版本 ARN(<代码>.../v3</code>),也可以是别名 ARN。
</p><p><b>注释</b>:此 Lambda 函数必须为其分配以下基于资源的策略。 在控制台中配置 Lambda 授权程序时,会为你完成此操作。 若要使用命令行接口(CLI),请运行以下命令:</p><p><代码>aws lambda add-permission --function-name 'arn:aws:lambda:us-east-2:111122223333:function:my-function' --statement-id 'appsync' --principal appsync.amazonaws.com --action lambda:InvokeFunction</code></p> |
字符串 |
identityValidationExpression 的 |
<p>调用 Lambda 函数之前用于验证令牌的正则表达式。</p> |
字符串 |
日志配置
名字 |
描述 |
价值 |
cloudWatchLogsRoleArn |
<p>AppSync 假定的服务角色发布到帐户中的 CloudWatch 日志。</p> |
字符串 |
excludeVerboseContent |
<p>设置为 TRUE 以排除包含标头、上下文和评估映射模板等信息的分区,而不考虑日志记录级别。</p> |
布尔 |
fieldLogLevel |
<p>字段日志记录级别。 值可以是 NONE、ERROR 或 ALL。</p><ul><li><p><b>NONE</b>:未捕获字段级日志。</p></li><li><p><b>ERROR</b>:仅记录错误字段的以下信息:</p><ul><li><p>服务器响应中的错误节。</p></li><li><p>字段级错误。</p></li><li><p>为错误字段解析的生成的请求/响应函数。</p></li></ul></li><li><p><b>ALL</b>:查询中的所有字段都记录以下信息:</p><ul><li><p>字段级跟踪信息。</p></li><li><p>为每个字段解析的生成的请求/响应函数。</p></li></ul></li></ul> |
FieldLogLevelEnumValue |
OpenIDConnectConfig
名字 |
描述 |
价值 |
authTTL |
<p>身份验证后令牌有效的毫秒数。</p> |
整数 (int) |
客户端 ID |
<p>OpenID 标识提供者上的信赖方的客户端标识符。 当信赖方注册到 OpenID 标识提供者时,通常会获取此标识符。 可以指定正则表达式,以便 AppSync 可以一次针对多个客户端标识符进行验证。</p> |
字符串 |
iatTTL |
<p>令牌颁发给用户后有效的毫秒数。</p> |
整数 (int) |
发行 |
<p>OIDC 配置的颁发者。 发现返回的颁发者必须与 ID 令牌中的 <代码>的值完全匹配</code>。</p> |
字符串 |
OperationLevelMetricsConfigEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“DISABLED” “ENABLED” |
ResolverLevelMetricsBehaviorEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“FULL_REQUEST_RESOLVER_METRICS” “PER_RESOLVER_METRICS” |
UserPoolConfig 用户池
名字 |
描述 |
价值 |
appIdClientRegex |
<p>用于验证传入的 Amazon Cognito 用户池应用客户端 ID 的正则表达式。 如果未设置此值,则不应用筛选。</p> |
字符串 |
awsRegion |
<p>在其中创建用户池的 Amazon Web Services 区域。</p> |
字符串 |
defaultAction |
<p>当使用 Amazon Cognito 用户池身份验证的请求与 Amazon Cognito 用户池配置不匹配时,希望 GraphQL API 执行的操作。</p> |
DefaultActionEnumValue |
用户池 ID |
<p>用户池 ID。</p> |
字符串 |
ARM 模板资源定义
可以使用目标操作部署 appSyncGraphqlApis 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.AwsConnector/appSyncGraphqlApis 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.AwsConnector/appSyncGraphqlApis",
"apiVersion": "2024-12-01",
"name": "string",
"location": "string",
"properties": {
"arn": "string",
"awsAccountId": "string",
"awsProperties": {
"additionalAuthenticationProviders": [
{
"authenticationType": {
"value": "string"
},
"lambdaAuthorizerConfig": {
"authorizerResultTtlInSeconds": "int",
"authorizerUri": "string",
"identityValidationExpression": "string"
},
"openIDConnectConfig": {
"authTTL": "int",
"clientId": "string",
"iatTTL": "int",
"issuer": "string"
},
"userPoolConfig": {
"appIdClientRegex": "string",
"awsRegion": "string",
"userPoolId": "string"
}
}
],
"apiId": "string",
"apiType": {
"value": "string"
},
"arn": "string",
"authenticationType": {
"value": "string"
},
"dns": {
"{customized property}": "string"
},
"enhancedMetricsConfig": {
"dataSourceLevelMetricsBehavior": {
"value": "string"
},
"operationLevelMetricsConfig": {
"value": "string"
},
"resolverLevelMetricsBehavior": {
"value": "string"
}
},
"introspectionConfig": {
"value": "string"
},
"lambdaAuthorizerConfig": {
"authorizerResultTtlInSeconds": "int",
"authorizerUri": "string",
"identityValidationExpression": "string"
},
"logConfig": {
"cloudWatchLogsRoleArn": "string",
"excludeVerboseContent": "bool",
"fieldLogLevel": {
"value": "string"
}
},
"mergedApiExecutionRoleArn": "string",
"name": "string",
"openIDConnectConfig": {
"authTTL": "int",
"clientId": "string",
"iatTTL": "int",
"issuer": "string"
},
"owner": "string",
"ownerContact": "string",
"queryDepthLimit": "int",
"resolverCountLimit": "int",
"tags": {
"{customized property}": "string"
},
"uris": {
"{customized property}": "string"
},
"userPoolConfig": {
"appIdClientRegex": "string",
"awsRegion": "string",
"defaultAction": {
"value": "string"
},
"userPoolId": "string"
},
"visibility": {
"value": "string"
},
"wafWebAclArn": "string",
"xrayEnabled": "bool"
},
"awsRegion": "string",
"awsSourceSchema": "string",
"awsTags": {
"{customized property}": "string"
},
"publicCloudConnectorsResourceId": "string",
"publicCloudResourceName": "string"
},
"tags": {
"{customized property}": "string"
}
}
属性值
Microsoft.AwsConnector/appSyncGraphqlApis
名字 |
描述 |
价值 |
apiVersion |
API 版本 |
'2024-12-01' |
位置 |
资源所在的地理位置 |
string (必需) |
名字 |
资源名称 |
字符串
约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 |
此资源的资源特定属性。 |
AppSyncGraphqlApiProperties |
标签 |
资源标记 |
标记名称和值的字典。 请参阅模板 中的 标记 |
类型 |
资源类型 |
“Microsoft.AwsConnector/appSyncGraphqlApis” |
AdditionalAuthenticationProvider
AppSyncGraphqlApiProperties
AuthenticationTypeEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“AMAZON_COGNITO_USER_POOLS” “API_KEY” “AWS_IAM” “AWS_LAMBDA” “OPENID_CONNECT” |
AwsAppSyncGraphqlApiProperties
名字 |
描述 |
价值 |
additionalAuthenticationProviders |
<p>GraphqlApi</code> API 的 <>代码的其他身份验证提供程序列表。</p> |
AdditionalAuthenticationProvider[] |
apiId 的 |
<p>API ID。</p> |
字符串 |
api类型 |
<p>指示 GraphQL API 是标准 API(<代码>GRAPHQL</code>)还是合并 API(<代码>MERGED</code>)。</p> |
GraphQLApiTypeEnumValue |
阿恩 |
<p>Amazon 资源名称 (ARN)。</p> |
字符串 |
验证类型 |
<p>身份验证类型。</p> |
AuthenticationTypeEnumValue |
DNS(域名系统) |
<p>API 的 DNS 记录。</p> |
AwsAppSyncGraphqlApiPropertiesDns |
enhancedMetricsConfig |
<p><代码>enhancedMetricsConfig</code> 对象。</p> |
EnhancedMetricsConfig |
introspectionConfig |
<p>设置 GraphQL API 的值以启用(<代码>ENABLED</code>)或禁用(<代码>DISABLED</code>) 反省。 如果未提供任何值,则默认情况下,内省配置将设置为 <代码>ENABLED</code>。 如果操作尝试在禁用此字段时使用反省功能,则此字段将生成错误。</p><p>有关反省的详细信息,请参阅 <href='https://graphql.org/learn/introspection/'>GraphQL 反省</a /a>。</p> |
GraphQLApiIntrospectionConfigEnumValue |
lambdaAuthorizerConfig |
<p>Lambda 函数授权的配置。</p> |
LambdaAuthorizerConfig |
logConfig |
<p>Amazon CloudWatch 日志配置。</p> |
日志配置 |
mergedApiExecutionRoleArn |
<p>合并 API 的标识和访问管理服务角色 ARN。 AppSync 服务代表合并 API 承担此角色,以验证运行时对源 API 的访问,并提示 <代码>AUTO_MERGE</code> 自动更新合并的 API 终结点。</p> |
字符串 |
名字 |
<p>API 名称。</p> |
字符串 |
openIDConnectConfig |
<p>OpenID Connect 配置。</p> |
OpenIDConnectConfig |
所有者 |
<p>GraphQL API 的帐户所有者。</p> |
字符串 |
业主联系方式 |
<p>API 资源的所有者联系信息。</p><p>此字段接受长度为 0 - 256 个字符的任何字符串输入。</p> |
字符串 |
查询深度限制 |
<p>单个请求中查询可以具有的最大深度。 深度是指查询正文中允许的嵌套级别量。 默认值为 <代码>0</code>(或未指定),表示没有深度限制。 如果设置了限制,则可以在 <代码>1</code> 之间,<代码>75</code> 嵌套级别。 如果操作超出边界,此字段将产生限制错误。</p><p>请注意,字段仍可设置为可为 null 或不可为 null。 如果不可为 null 的字段生成错误,则错误将向上引发到第一个可为 null 的字段。</p> |
整数 (int) |
resolverCountLimit |
<p>单个请求中可以调用的最大解析程序数。 默认值为 <代码>0</code>(或未指定),它将限制设置为 <代码>10000</code>。 指定时,限制值可以是 <代码>1</code>,<代码>10000</code>。 如果操作超出边界,此字段将产生限制错误。</p> |
整数 (int) |
标签 |
<p>标记。</p> |
AwsAppSyncGraphqlApiPropertiesTags |
URI |
<p>URI。</p> |
AwsAppSyncGraphqlApiPropertiesUris |
用户池配置 |
<p>Amazon Cognito 用户池配置。</p> |
UserPoolConfig 用户池 |
能见度 |
<p>将 GraphQL API 的值设置为公共(<代码>GLOBAL</code>) 或私有(<代码>PRIVATE</code>)。 如果未提供任何值,则默认情况下,可见性将设置为 <代码>GLOBAL</code>。 创建 API 后,无法更改此值。</p> |
GraphQLApiVisibilityEnumValue |
wafWebAclArn |
<p>与此 <代码关联的 WAF 访问控制列表 (ACL)的 ARN>GraphqlApi</code>(如果存在)。</p> |
字符串 |
xray已启用 |
<p>指示是否为此 <代码使用 X 射线跟踪的标志,>GraphqlApi</code>。</p> |
布尔 |
AwsAppSyncGraphqlApiPropertiesDns
AwsAppSyncGraphqlApiPropertiesUris
CognitoUserPoolConfig
名字 |
描述 |
价值 |
appIdClientRegex |
<p>用于验证传入的 Amazon Cognito 用户池应用客户端 ID 的正则表达式。 如果未设置此值,则不应用筛选。</p> |
字符串 |
awsRegion |
<p>在其中创建用户池的 Amazon Web Services 区域。</p> |
字符串 |
用户池 ID |
<p>用户池 ID。</p> |
字符串 |
DataSourceLevelMetricsBehaviorEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“FULL_REQUEST_DATA_SOURCE_METRICS” “PER_DATA_SOURCE_METRICS” |
DefaultActionEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“ALLOW” “DENY” |
EnhancedMetricsConfig
名字 |
描述 |
价值 |
dataSourceLevelMetricsBehavior |
<p>控制如何将数据源指标发送到 CloudWatch。 数据源指标包括:</p><ul><li><p>请求:请求期间发生的调用数。</p></li><li><p>延迟:完成数据源调用的时间。</p></li><li><p>错误:数据源调用期间发生的错误数。</p></li></ul><p>这些指标可以针对每个数据源或请求中的所有数据源向 CloudWatch 发出。 指标将由 API ID 和数据源名称记录。
<代码>dataSourceLevelMetricsBehavior</code> 接受以下值之一:</p><ul><li><p><代码>FULL_REQUEST_DATA_SOURCE_METRICS</code>:记录并发出请求中所有数据源的指标数据。</p></li><li><p><代码>PER_DATA_SOURCE_METRICS</code>:记录并发出 <代码>metricsConfig</code> 值设置为 enableD</code><代码>的数据源的指标数据。</p></li></ul> |
DataSourceLevelMetricsBehaviorEnumValue |
operationLevelMetricsConfig |
<p> 控制如何将操作指标发送到 CloudWatch。 操作指标包括:</p><ul><li><p>请求:调用指定的 GraphQL 操作的次数。</p></li><li><p>GraphQL 错误:指定 GraphQL 操作期间发生的 GraphQL 错误数。</p></li></ul><p>指标将由 API ID 和操作名称记录。 可以将该值设置为 <代码>ENABLED</code> 或 <代码>DISABLED</code>。</p> |
OperationLevelMetricsConfigEnumValue |
resolverLevelMetricsBehavior |
<p>控制解析程序指标如何发送到 CloudWatch。 解析程序指标包括:</p><ul><li><p>GraphQL 错误:发生的 GraphQL 错误数。</p></li><li><p>请求:请求期间发生的调用数。
</p></li><li><p>延迟:完成解析程序调用的时间。</p></li><li><p>缓存命中数:请求期间的缓存命中数。</p></li><li><p>缓存未命中数:请求期间缓存未命中次数。</p></li></ul><p>这些指标可以针对每个解析程序或请求中的所有解析程序向 CloudWatch 发出。 指标将由 API ID 和解析程序名称记录。
<代码>resolverLevelMetricsBehavior</code> 一次接受以下值之一:</p><ul><li><p><代码>FULL_REQUEST_RESOLVER_METRICS</code>:记录和发出请求中的所有解析程序的指标数据。</p></li><li><p><代码>PER_RESOLVER_METRICS</code>:记录并发出 <代码>metricsConfig</code> 值设置为 <代码>ENABLED</code>的解析程序的指标数据。</p></li></ul> |
ResolverLevelMetricsBehaviorEnumValue |
FieldLogLevelEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“ALL” “ERROR” “NONE” |
GraphQLApiIntrospectionConfigEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“DISABLED” “ENABLED” |
GraphQLApiTypeEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“GRAPHQL” “MERGED” |
GraphQLApiVisibilityEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“GLOBAL” “PRIVATE” |
LambdaAuthorizerConfig
名字 |
描述 |
价值 |
authorizerResultTtlInSeconds |
<p>应缓存响应的秒数。 默认值为 0 秒,这会禁用缓存。 如果未为 <代码指定值,>authorizerResultTtlInSeconds</code>,则使用默认值。 最大值为一小时(3600 秒)。 Lambda 函数可以通过在其响应中返回<ttlOverride>/code< 键 >代码来替代此代码。</p> |
整数 (int) |
authorizerUri |
<p>要调用的 Lambda 函数的 Amazon 资源名称(ARN)进行授权。 这可以是标准 Lambda ARN、版本 ARN(<代码>.../v3</code>),也可以是别名 ARN。
</p><p><b>注释</b>:此 Lambda 函数必须为其分配以下基于资源的策略。 在控制台中配置 Lambda 授权程序时,会为你完成此操作。 若要使用命令行接口(CLI),请运行以下命令:</p><p><代码>aws lambda add-permission --function-name 'arn:aws:lambda:us-east-2:111122223333:function:my-function' --statement-id 'appsync' --principal appsync.amazonaws.com --action lambda:InvokeFunction</code></p> |
字符串 |
identityValidationExpression 的 |
<p>调用 Lambda 函数之前用于验证令牌的正则表达式。</p> |
字符串 |
日志配置
名字 |
描述 |
价值 |
cloudWatchLogsRoleArn |
<p>AppSync 假定的服务角色发布到帐户中的 CloudWatch 日志。</p> |
字符串 |
excludeVerboseContent |
<p>设置为 TRUE 以排除包含标头、上下文和评估映射模板等信息的分区,而不考虑日志记录级别。</p> |
布尔 |
fieldLogLevel |
<p>字段日志记录级别。 值可以是 NONE、ERROR 或 ALL。</p><ul><li><p><b>NONE</b>:未捕获字段级日志。</p></li><li><p><b>ERROR</b>:仅记录错误字段的以下信息:</p><ul><li><p>服务器响应中的错误节。</p></li><li><p>字段级错误。</p></li><li><p>为错误字段解析的生成的请求/响应函数。</p></li></ul></li><li><p><b>ALL</b>:查询中的所有字段都记录以下信息:</p><ul><li><p>字段级跟踪信息。</p></li><li><p>为每个字段解析的生成的请求/响应函数。</p></li></ul></li></ul> |
FieldLogLevelEnumValue |
OpenIDConnectConfig
名字 |
描述 |
价值 |
authTTL |
<p>身份验证后令牌有效的毫秒数。</p> |
整数 (int) |
客户端 ID |
<p>OpenID 标识提供者上的信赖方的客户端标识符。 当信赖方注册到 OpenID 标识提供者时,通常会获取此标识符。 可以指定正则表达式,以便 AppSync 可以一次针对多个客户端标识符进行验证。</p> |
字符串 |
iatTTL |
<p>令牌颁发给用户后有效的毫秒数。</p> |
整数 (int) |
发行 |
<p>OIDC 配置的颁发者。 发现返回的颁发者必须与 ID 令牌中的 <代码>的值完全匹配</code>。</p> |
字符串 |
OperationLevelMetricsConfigEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“DISABLED” “ENABLED” |
ResolverLevelMetricsBehaviorEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“FULL_REQUEST_RESOLVER_METRICS” “PER_RESOLVER_METRICS” |
UserPoolConfig 用户池
名字 |
描述 |
价值 |
appIdClientRegex |
<p>用于验证传入的 Amazon Cognito 用户池应用客户端 ID 的正则表达式。 如果未设置此值,则不应用筛选。</p> |
字符串 |
awsRegion |
<p>在其中创建用户池的 Amazon Web Services 区域。</p> |
字符串 |
defaultAction |
<p>当使用 Amazon Cognito 用户池身份验证的请求与 Amazon Cognito 用户池配置不匹配时,希望 GraphQL API 执行的操作。</p> |
DefaultActionEnumValue |
用户池 ID |
<p>用户池 ID。</p> |
字符串 |
用法示例
可以使用目标操作部署 appSyncGraphqlApis 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.AwsConnector/appSyncGraphqlApis 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AwsConnector/appSyncGraphqlApis@2024-12-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
arn = "string"
awsAccountId = "string"
awsProperties = {
additionalAuthenticationProviders = [
{
authenticationType = {
value = "string"
}
lambdaAuthorizerConfig = {
authorizerResultTtlInSeconds = int
authorizerUri = "string"
identityValidationExpression = "string"
}
openIDConnectConfig = {
authTTL = int
clientId = "string"
iatTTL = int
issuer = "string"
}
userPoolConfig = {
appIdClientRegex = "string"
awsRegion = "string"
userPoolId = "string"
}
}
]
apiId = "string"
apiType = {
value = "string"
}
arn = "string"
authenticationType = {
value = "string"
}
dns = {
{customized property} = "string"
}
enhancedMetricsConfig = {
dataSourceLevelMetricsBehavior = {
value = "string"
}
operationLevelMetricsConfig = {
value = "string"
}
resolverLevelMetricsBehavior = {
value = "string"
}
}
introspectionConfig = {
value = "string"
}
lambdaAuthorizerConfig = {
authorizerResultTtlInSeconds = int
authorizerUri = "string"
identityValidationExpression = "string"
}
logConfig = {
cloudWatchLogsRoleArn = "string"
excludeVerboseContent = bool
fieldLogLevel = {
value = "string"
}
}
mergedApiExecutionRoleArn = "string"
name = "string"
openIDConnectConfig = {
authTTL = int
clientId = "string"
iatTTL = int
issuer = "string"
}
owner = "string"
ownerContact = "string"
queryDepthLimit = int
resolverCountLimit = int
tags = {
{customized property} = "string"
}
uris = {
{customized property} = "string"
}
userPoolConfig = {
appIdClientRegex = "string"
awsRegion = "string"
defaultAction = {
value = "string"
}
userPoolId = "string"
}
visibility = {
value = "string"
}
wafWebAclArn = "string"
xrayEnabled = bool
}
awsRegion = "string"
awsSourceSchema = "string"
awsTags = {
{customized property} = "string"
}
publicCloudConnectorsResourceId = "string"
publicCloudResourceName = "string"
}
}
}
属性值
Microsoft.AwsConnector/appSyncGraphqlApis
名字 |
描述 |
价值 |
位置 |
资源所在的地理位置 |
string (必需) |
名字 |
资源名称 |
字符串
约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 |
此资源的资源特定属性。 |
AppSyncGraphqlApiProperties |
标签 |
资源标记 |
标记名称和值的字典。 |
类型 |
资源类型 |
“Microsoft.AwsConnector/appSyncGraphqlApis@2024-12-01” |
AdditionalAuthenticationProvider
AppSyncGraphqlApiProperties
AuthenticationTypeEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“AMAZON_COGNITO_USER_POOLS” “API_KEY” “AWS_IAM” “AWS_LAMBDA” “OPENID_CONNECT” |
AwsAppSyncGraphqlApiProperties
名字 |
描述 |
价值 |
additionalAuthenticationProviders |
<p>GraphqlApi</code> API 的 <>代码的其他身份验证提供程序列表。</p> |
AdditionalAuthenticationProvider[] |
apiId 的 |
<p>API ID。</p> |
字符串 |
api类型 |
<p>指示 GraphQL API 是标准 API(<代码>GRAPHQL</code>)还是合并 API(<代码>MERGED</code>)。</p> |
GraphQLApiTypeEnumValue |
阿恩 |
<p>Amazon 资源名称 (ARN)。</p> |
字符串 |
验证类型 |
<p>身份验证类型。</p> |
AuthenticationTypeEnumValue |
DNS(域名系统) |
<p>API 的 DNS 记录。</p> |
AwsAppSyncGraphqlApiPropertiesDns |
enhancedMetricsConfig |
<p><代码>enhancedMetricsConfig</code> 对象。</p> |
EnhancedMetricsConfig |
introspectionConfig |
<p>设置 GraphQL API 的值以启用(<代码>ENABLED</code>)或禁用(<代码>DISABLED</code>) 反省。 如果未提供任何值,则默认情况下,内省配置将设置为 <代码>ENABLED</code>。 如果操作尝试在禁用此字段时使用反省功能,则此字段将生成错误。</p><p>有关反省的详细信息,请参阅 <href='https://graphql.org/learn/introspection/'>GraphQL 反省</a /a>。</p> |
GraphQLApiIntrospectionConfigEnumValue |
lambdaAuthorizerConfig |
<p>Lambda 函数授权的配置。</p> |
LambdaAuthorizerConfig |
logConfig |
<p>Amazon CloudWatch 日志配置。</p> |
日志配置 |
mergedApiExecutionRoleArn |
<p>合并 API 的标识和访问管理服务角色 ARN。 AppSync 服务代表合并 API 承担此角色,以验证运行时对源 API 的访问,并提示 <代码>AUTO_MERGE</code> 自动更新合并的 API 终结点。</p> |
字符串 |
名字 |
<p>API 名称。</p> |
字符串 |
openIDConnectConfig |
<p>OpenID Connect 配置。</p> |
OpenIDConnectConfig |
所有者 |
<p>GraphQL API 的帐户所有者。</p> |
字符串 |
业主联系方式 |
<p>API 资源的所有者联系信息。</p><p>此字段接受长度为 0 - 256 个字符的任何字符串输入。</p> |
字符串 |
查询深度限制 |
<p>单个请求中查询可以具有的最大深度。 深度是指查询正文中允许的嵌套级别量。 默认值为 <代码>0</code>(或未指定),表示没有深度限制。 如果设置了限制,则可以在 <代码>1</code> 之间,<代码>75</code> 嵌套级别。 如果操作超出边界,此字段将产生限制错误。</p><p>请注意,字段仍可设置为可为 null 或不可为 null。 如果不可为 null 的字段生成错误,则错误将向上引发到第一个可为 null 的字段。</p> |
整数 (int) |
resolverCountLimit |
<p>单个请求中可以调用的最大解析程序数。 默认值为 <代码>0</code>(或未指定),它将限制设置为 <代码>10000</code>。 指定时,限制值可以是 <代码>1</code>,<代码>10000</code>。 如果操作超出边界,此字段将产生限制错误。</p> |
整数 (int) |
标签 |
<p>标记。</p> |
AwsAppSyncGraphqlApiPropertiesTags |
URI |
<p>URI。</p> |
AwsAppSyncGraphqlApiPropertiesUris |
用户池配置 |
<p>Amazon Cognito 用户池配置。</p> |
UserPoolConfig 用户池 |
能见度 |
<p>将 GraphQL API 的值设置为公共(<代码>GLOBAL</code>) 或私有(<代码>PRIVATE</code>)。 如果未提供任何值,则默认情况下,可见性将设置为 <代码>GLOBAL</code>。 创建 API 后,无法更改此值。</p> |
GraphQLApiVisibilityEnumValue |
wafWebAclArn |
<p>与此 <代码关联的 WAF 访问控制列表 (ACL)的 ARN>GraphqlApi</code>(如果存在)。</p> |
字符串 |
xray已启用 |
<p>指示是否为此 <代码使用 X 射线跟踪的标志,>GraphqlApi</code>。</p> |
布尔 |
AwsAppSyncGraphqlApiPropertiesDns
AwsAppSyncGraphqlApiPropertiesUris
CognitoUserPoolConfig
名字 |
描述 |
价值 |
appIdClientRegex |
<p>用于验证传入的 Amazon Cognito 用户池应用客户端 ID 的正则表达式。 如果未设置此值,则不应用筛选。</p> |
字符串 |
awsRegion |
<p>在其中创建用户池的 Amazon Web Services 区域。</p> |
字符串 |
用户池 ID |
<p>用户池 ID。</p> |
字符串 |
DataSourceLevelMetricsBehaviorEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“FULL_REQUEST_DATA_SOURCE_METRICS” “PER_DATA_SOURCE_METRICS” |
DefaultActionEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“ALLOW” “DENY” |
EnhancedMetricsConfig
名字 |
描述 |
价值 |
dataSourceLevelMetricsBehavior |
<p>控制如何将数据源指标发送到 CloudWatch。 数据源指标包括:</p><ul><li><p>请求:请求期间发生的调用数。</p></li><li><p>延迟:完成数据源调用的时间。</p></li><li><p>错误:数据源调用期间发生的错误数。</p></li></ul><p>这些指标可以针对每个数据源或请求中的所有数据源向 CloudWatch 发出。 指标将由 API ID 和数据源名称记录。
<代码>dataSourceLevelMetricsBehavior</code> 接受以下值之一:</p><ul><li><p><代码>FULL_REQUEST_DATA_SOURCE_METRICS</code>:记录并发出请求中所有数据源的指标数据。</p></li><li><p><代码>PER_DATA_SOURCE_METRICS</code>:记录并发出 <代码>metricsConfig</code> 值设置为 enableD</code><代码>的数据源的指标数据。</p></li></ul> |
DataSourceLevelMetricsBehaviorEnumValue |
operationLevelMetricsConfig |
<p> 控制如何将操作指标发送到 CloudWatch。 操作指标包括:</p><ul><li><p>请求:调用指定的 GraphQL 操作的次数。</p></li><li><p>GraphQL 错误:指定 GraphQL 操作期间发生的 GraphQL 错误数。</p></li></ul><p>指标将由 API ID 和操作名称记录。 可以将该值设置为 <代码>ENABLED</code> 或 <代码>DISABLED</code>。</p> |
OperationLevelMetricsConfigEnumValue |
resolverLevelMetricsBehavior |
<p>控制解析程序指标如何发送到 CloudWatch。 解析程序指标包括:</p><ul><li><p>GraphQL 错误:发生的 GraphQL 错误数。</p></li><li><p>请求:请求期间发生的调用数。
</p></li><li><p>延迟:完成解析程序调用的时间。</p></li><li><p>缓存命中数:请求期间的缓存命中数。</p></li><li><p>缓存未命中数:请求期间缓存未命中次数。</p></li></ul><p>这些指标可以针对每个解析程序或请求中的所有解析程序向 CloudWatch 发出。 指标将由 API ID 和解析程序名称记录。
<代码>resolverLevelMetricsBehavior</code> 一次接受以下值之一:</p><ul><li><p><代码>FULL_REQUEST_RESOLVER_METRICS</code>:记录和发出请求中的所有解析程序的指标数据。</p></li><li><p><代码>PER_RESOLVER_METRICS</code>:记录并发出 <代码>metricsConfig</code> 值设置为 <代码>ENABLED</code>的解析程序的指标数据。</p></li></ul> |
ResolverLevelMetricsBehaviorEnumValue |
FieldLogLevelEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“ALL” “ERROR” “NONE” |
GraphQLApiIntrospectionConfigEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“DISABLED” “ENABLED” |
GraphQLApiTypeEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“GRAPHQL” “MERGED” |
GraphQLApiVisibilityEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“GLOBAL” “PRIVATE” |
LambdaAuthorizerConfig
名字 |
描述 |
价值 |
authorizerResultTtlInSeconds |
<p>应缓存响应的秒数。 默认值为 0 秒,这会禁用缓存。 如果未为 <代码指定值,>authorizerResultTtlInSeconds</code>,则使用默认值。 最大值为一小时(3600 秒)。 Lambda 函数可以通过在其响应中返回<ttlOverride>/code< 键 >代码来替代此代码。</p> |
整数 (int) |
authorizerUri |
<p>要调用的 Lambda 函数的 Amazon 资源名称(ARN)进行授权。 这可以是标准 Lambda ARN、版本 ARN(<代码>.../v3</code>),也可以是别名 ARN。
</p><p><b>注释</b>:此 Lambda 函数必须为其分配以下基于资源的策略。 在控制台中配置 Lambda 授权程序时,会为你完成此操作。 若要使用命令行接口(CLI),请运行以下命令:</p><p><代码>aws lambda add-permission --function-name 'arn:aws:lambda:us-east-2:111122223333:function:my-function' --statement-id 'appsync' --principal appsync.amazonaws.com --action lambda:InvokeFunction</code></p> |
字符串 |
identityValidationExpression 的 |
<p>调用 Lambda 函数之前用于验证令牌的正则表达式。</p> |
字符串 |
日志配置
名字 |
描述 |
价值 |
cloudWatchLogsRoleArn |
<p>AppSync 假定的服务角色发布到帐户中的 CloudWatch 日志。</p> |
字符串 |
excludeVerboseContent |
<p>设置为 TRUE 以排除包含标头、上下文和评估映射模板等信息的分区,而不考虑日志记录级别。</p> |
布尔 |
fieldLogLevel |
<p>字段日志记录级别。 值可以是 NONE、ERROR 或 ALL。</p><ul><li><p><b>NONE</b>:未捕获字段级日志。</p></li><li><p><b>ERROR</b>:仅记录错误字段的以下信息:</p><ul><li><p>服务器响应中的错误节。</p></li><li><p>字段级错误。</p></li><li><p>为错误字段解析的生成的请求/响应函数。</p></li></ul></li><li><p><b>ALL</b>:查询中的所有字段都记录以下信息:</p><ul><li><p>字段级跟踪信息。</p></li><li><p>为每个字段解析的生成的请求/响应函数。</p></li></ul></li></ul> |
FieldLogLevelEnumValue |
OpenIDConnectConfig
名字 |
描述 |
价值 |
authTTL |
<p>身份验证后令牌有效的毫秒数。</p> |
整数 (int) |
客户端 ID |
<p>OpenID 标识提供者上的信赖方的客户端标识符。 当信赖方注册到 OpenID 标识提供者时,通常会获取此标识符。 可以指定正则表达式,以便 AppSync 可以一次针对多个客户端标识符进行验证。</p> |
字符串 |
iatTTL |
<p>令牌颁发给用户后有效的毫秒数。</p> |
整数 (int) |
发行 |
<p>OIDC 配置的颁发者。 发现返回的颁发者必须与 ID 令牌中的 <代码>的值完全匹配</code>。</p> |
字符串 |
OperationLevelMetricsConfigEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“DISABLED” “ENABLED” |
ResolverLevelMetricsBehaviorEnumValue
名字 |
描述 |
价值 |
价值 |
属性值 |
“FULL_REQUEST_RESOLVER_METRICS” “PER_RESOLVER_METRICS” |
UserPoolConfig 用户池
名字 |
描述 |
价值 |
appIdClientRegex |
<p>用于验证传入的 Amazon Cognito 用户池应用客户端 ID 的正则表达式。 如果未设置此值,则不应用筛选。</p> |
字符串 |
awsRegion |
<p>在其中创建用户池的 Amazon Web Services 区域。</p> |
字符串 |
defaultAction |
<p>当使用 Amazon Cognito 用户池身份验证的请求与 Amazon Cognito 用户池配置不匹配时,希望 GraphQL API 执行的操作。</p> |
DefaultActionEnumValue |
用户池 ID |
<p>用户池 ID。</p> |
字符串 |