AWS::ApiGateway::Stage - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::ApiGateway::Stage

AWS::ApiGateway::Stage 资源为部署创建阶段。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::ApiGateway::Stage", "Properties" : { "AccessLogSetting" : AccessLogSetting, "CacheClusterEnabled" : Boolean, "CacheClusterSize" : String, "CanarySetting" : CanarySetting, "ClientCertificateId" : String, "DeploymentId" : String, "Description" : String, "DocumentationVersion" : String, "MethodSettings" : [ MethodSetting, ... ], "RestApiId" : String, "StageName" : String, "Tags" : [ Tag, ... ], "TracingEnabled" : Boolean, "Variables" : {Key : Value, ...} } }

YAML

Type: AWS::ApiGateway::Stage Properties: AccessLogSetting: AccessLogSetting CacheClusterEnabled: Boolean CacheClusterSize: String CanarySetting: CanarySetting ClientCertificateId: String DeploymentId: String Description: String DocumentationVersion: String MethodSettings: - MethodSetting RestApiId: String StageName: String Tags: - Tag TracingEnabled: Boolean Variables: Key : Value

属性

AccessLogSetting

为该阶段中的日志记录访问指定设置。

必需:否

类型AccessLogSetting

Update requires: No interruption

CacheClusterEnabled

指示是否为阶段启用缓存群集。

必需:否

类型:布尔值

Update requires: No interruption

CacheClusterSize

阶段的缓存群集大小。

必需:否

类型:字符串

Update requires: No interruption

CanarySetting

为该阶段中的金丝雀部署指定设置。

必需:否

类型CanarySetting

Update requires: No interruption

ClientCertificateId

API Gateway 用来调用阶段中的集成终端节点的客户端证书的 ID。

必需:否

类型:字符串

Update requires: No interruption

DeploymentId

该阶段关联到的部署的 ID。创建阶段时需要此参数。

必需:条件

类型:字符串

Update requires: No interruption

Description

阶段的描述。

必需:否

类型:字符串

Update requires: No interruption

DocumentationVersion

API 文档快照的版本 ID。

必需:否

类型:字符串

Update requires: No interruption

MethodSettings

阶段中所有方法的设置。

必需:否

类型MethodSetting 的列表

Update requires: No interruption

RestApiId

使用此阶段部署的 RestApi 资源的 ID。

必需:是

类型:字符串

Update requires: Replacement

StageName

阶段的名称,API Gateway 将它用作调用的统一资源标识符 (URI) 中的第一个路径部分。

必需:否

类型:字符串

Update requires: Replacement

Tags

与阶段关联的任意标签(键值对)的数组。

必需:否

类型Tag 的列表

Update requires: No interruption

TracingEnabled

指定是否为该阶段启用主动 X-Ray 跟踪。

有关更多信息,请参阅 API Gateway 开发人员指南中的使用 AWS X-Ray 跟踪 API Gateway API 执行情况

必需:否

类型:布尔值

Update requires: No interruption

Variables

一个定义阶段变量的映射 (字符串到字符串映射),其中变量名作为键,变量值作为值。变量名称只能包含字母数字字符。值必须匹配以下正则表达式:[A-Za-z0-9-._~:/?#&=,]+

必需:否

类型:字符串的映射

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回阶段的名称,例如 MyTestStage

For more information about using the Ref function, see Ref.

示例

创建阶段

以下示例为 TestDeployment 部署创建阶段。阶段还指定 MyRestApi API 的方法设置。

JSON

{ "Resources": { "Prod": { "Type": "AWS::ApiGateway::Stage", "Properties": { "StageName": "Prod", "Description": "Prod Stage", "RestApiId": { "Ref": "MyRestApi" }, "DeploymentId": { "Ref": "TestDeployment" }, "DocumentationVersion": { "Ref": "MyDocumentationVersion" }, "ClientCertificateId": { "Ref": "ClientCertificate" }, "Variables": { "Stack": "Prod" }, "MethodSettings": [ { "ResourcePath": "/", "HttpMethod": "GET", "MetricsEnabled": "true", "DataTraceEnabled": "false" }, { "ResourcePath": "/stack", "HttpMethod": "POST", "MetricsEnabled": "true", "DataTraceEnabled": "false", "ThrottlingBurstLimit": "999" }, { "ResourcePath": "/stack", "HttpMethod": "GET", "MetricsEnabled": "true", "DataTraceEnabled": "false", "ThrottlingBurstLimit": "555" } ] } } } }

YAML

Resources: Prod: Type: AWS::ApiGateway::Stage Properties: StageName: Prod Description: Prod Stage RestApiId: !Ref MyRestApi DeploymentId: !Ref TestDeployment DocumentationVersion: !Ref MyDocumentationVersion ClientCertificateId: !Ref ClientCertificate Variables: Stack: Prod MethodSettings: - ResourcePath: / HttpMethod: GET MetricsEnabled: 'true' DataTraceEnabled: 'false' - ResourcePath: /stack HttpMethod: POST MetricsEnabled: 'true' DataTraceEnabled: 'false' ThrottlingBurstLimit: '999' - ResourcePath: /stack HttpMethod: GET MetricsEnabled: 'true' DataTraceEnabled: 'false' ThrottlingBurstLimit: '555'

另请参阅