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

AWS::ApiGateway::ApiKey

AWS::ApiGateway::ApiKey 资源创建唯一键,您可将该键分发到需要 API 键来执行 API Gateway Method 资源的客户端。要指定客户端必须使用的 API 键,请将 API 键映射到包含需要键的方法的 RestApiStage 资源。

语法

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

JSON

{ "Type" : "AWS::ApiGateway::ApiKey", "Properties" : { "CustomerId" : String, "Description" : String, "Enabled" : Boolean, "GenerateDistinctId" : Boolean, "Name" : String, "StageKeys" : [ StageKey, ... ], "Tags" : [ Tag, ... ], "Value" : String } }

YAML

Type: AWS::ApiGateway::ApiKey Properties: CustomerId: String Description: String Enabled: Boolean GenerateDistinctId: Boolean Name: String StageKeys: - StageKey Tags: - Tag Value: String

属性

CustomerId

与 AWS SaaS Marketplace 集成时要使用的 AWS Marketplace 客户标识符。

必需:否

类型:字符串

Update requires: No interruption

Description

API 键用途的描述。

必需:否

类型:字符串

Update requires: No interruption

Enabled

指示客户端是否可以使用 API 键。

必需:否

类型:布尔值

Update requires: No interruption

GenerateDistinctId

指定键标识符是否不同于创建的 API 键值。该参数已弃用,而不应使用。

必需:否

类型:布尔值

Update requires: Replacement

Name

API 键的名称。如果不指定名称,则 AWS CloudFormation 会生成一个唯一的物理 ID 并将该 ID 用于 API 键名称。有关更多信息,请参阅名称类型

重要

如果指定一个名称,您将无法执行需要替换该资源的更新。您可以执行不需要或者只需要部分中断的更新。如果必须替换资源,请指定新名称。

必需:否

类型:字符串

Update requires: Replacement

StageKeys

要与此 API 键关联的阶段的列表。

必需:否

类型StageKey 的列表

Update requires: No interruption

Tags

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

必需:否

类型Tag 的列表

Update requires: No interruption

Value

API 键的值。长度必须至少为 20 个字符。

必需:否

类型:字符串

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 API 键 ID,例如 m2m1k7sybf

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

示例

API 键

以下示例创建 API 键并将其与 Test 部署的 TestAPIDeployment 阶段关联。为确保 AWS CloudFormation 在 API 键之前创建阶段和部署(在相同模板中的其他位置声明),该示例在部署和阶段上添加了明确依赖关系。没有此依赖关系时,AWS CloudFormation 可能会先创建 API 键,这将导致关联失败,因为部署和阶段还不存在。

JSON

{ "ApiKey": { "Type": "AWS::ApiGateway::ApiKey", "DependsOn": [ "TestAPIDeployment", "Test" ], "Properties": { "Name": "TestApiKey", "Description": "CloudFormation API Key V1", "Enabled": "true", "StageKeys": [ { "RestApiId": { "Ref": "RestApi" }, "StageName": "Test" } ] } } }

YAML

ApiKey: Type: 'AWS::ApiGateway::ApiKey' DependsOn: - TestAPIDeployment - Test Properties: Name: TestApiKey Description: CloudFormation API Key V1 Enabled: 'true' StageKeys: - RestApiId: !Ref RestApi StageName: Test

客户 ID

以下示例创建一个 API 键,并允许您指定客户 ID 以及是否创建不同的 ID。

JSON

{ "Parameters": { "apiKeyName": { "Type": "String" }, "customerId": { "Type": "String" }, "generateDistinctId": { "Type": "String" } }, "Resources": { "ApiKey": { "Type": "AWS::ApiGateway::ApiKey", "Properties": { "CustomerId": { "Ref": "customerId" }, "GenerateDistinctId": { "Ref": "generateDistinctId" }, "Name": { "Ref": "apiKeyName" } } } } }

YAML

Parameters: apiKeyName: Type: String customerId: Type: String generateDistinctId: Type: String Resources: ApiKey: Type: AWS::ApiGateway::ApiKey Properties: CustomerId: !Ref customerId GenerateDistinctId: !Ref generateDistinctId Name: !Ref apiKeyName

另请参阅