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

AWS::ApiGateway::Deployment

AWS::ApiGateway::Deployment 资源将 API Gateway RestApi 资源部署到一个阶段,以便客户端可以通过 Internet 调用 API。该阶段用作环境。

语法

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

JSON

{ "Type" : "AWS::ApiGateway::Deployment", "Properties" : { "DeploymentCanarySettings" : DeploymentCanarySettings, "Description" : String, "RestApiId" : String, "StageDescription" : StageDescription, "StageName" : String } }

YAML

Type: AWS::ApiGateway::Deployment Properties: DeploymentCanarySettings: DeploymentCanarySettings Description: String RestApiId: String StageDescription: StageDescription StageName: String

属性

DeploymentCanarySettings

为金丝雀部署指定设置。

必需:否

类型DeploymentCanarySettings

Update requires: Replacement

Description

API Gateway 部署的用途的描述。

必需:否

类型:字符串

Update requires: No interruption

RestApiId

要部署的 RestApi 资源的 ID。

必需:是

类型:字符串

Update requires: Replacement

StageDescription

配置 API Gateway 随此部署创建的阶段。

必需:否

类型StageDescription

Update requires: No interruption

StageName

API Gateway 随此部署创建的阶段的名称。仅使用字母数字字符。

必需:否

类型:字符串

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回部署 ID,例如 123abc

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

示例

以下部分提供了用于声明 API Gateway 部署的示例。

带空嵌入式阶段的部署

以下示例部署 MyApi API 到名为 DummyStage 阶段。

JSON

{ "Deployment": { "Type": "AWS::ApiGateway::Deployment", "Properties": { "RestApiId": { "Ref": "MyApi" }, "Description": "My deployment", "StageName": "DummyStage" } } }

YAML

Deployment: Type: 'AWS::ApiGateway::Deployment' Properties: RestApiId: !Ref MyApi Description: My deployment StageName: DummyStage

AWS::ApiGateway::Method Dependency

如果您在与部署相同的模板中创建 AWS::ApiGateway::RestApi 资源及其方法(使用 AWS::ApiGateway::Method),则该部署必须依赖于 RestApi 的方法。要创建依赖关系,请添加 DependsOn 属性到部署。如果您没有这样做,则 AWS CloudFormation 在创建不包含任何方法的 RestApi 资源之后立即创建部署,并且 AWS CloudFormation 将遇到以下错误:The REST API doesn't contain any methods

JSON

{ "Deployment": { "DependsOn": "MyMethod", "Type": "AWS::ApiGateway::Deployment", "Properties": { "RestApiId": { "Ref": "MyApi" }, "Description": "My deployment", "StageName": "DummyStage" } } }

YAML

Deployment: DependsOn: MyMethod Type: 'AWS::ApiGateway::Deployment' Properties: RestApiId: !Ref MyApi Description: My deployment StageName: DummyStage

另请参阅