ApiUsagePlan - AWS Serverless Application Model

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

ApiUsagePlan

为 API Gateway API 配置使用计划。有关使用计划的更多信息,请参阅《API Gateway 开发人员指南》中的使用 API 密钥创建和使用使用计划

语法

要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。

属性

CreateUsagePlan

确定如何配置此使用计划。有效值包括 PER_APISHAREDNONE

PER_API 会创建特定于此 API 的 AWS::ApiGateway::UsagePlanAWS::ApiGateway::ApiKeyAWS::ApiGateway::UsagePlanKey 资源。这些资源的逻辑 ID 分别为 <api-logical-id>UsagePlan<api-logical-id>ApiKey<api-logical-id>UsagePlanKey

SHARED创建AWS::ApiGateway::UsagePlanAWS::ApiGateway::ApiKey、和AWS::ApiGateway::UsagePlanKey资源,这些资源在同一 AWS SAM 模板CreateUsagePlan: SHARED中也包含的任何 API 之间共享。这些资源的逻辑 ID 分别为 ServerlessUsagePlanServerlessApiKeyServerlessUsagePlanKey。如果您使用此选项,我们建议您仅在一个 API 资源中为此使用计划添加其他配置,以避免定义冲突和状态不确定性。

NONE 禁止创建使用计划或将使用计划与此 API 关联。在 AWS SAM 模板的全局变量部分 中指定了 SHAREDPER_API 的情况下才需要这样做。

有效值PER_APISHAREDNONE

类型:字符串

必需:是

AWS CloudFormation 兼容性:此属性是独有的 AWS SAM ,没有 AWS CloudFormation 等效属性。

Description

使用计划的描述。

类型:字符串

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::ApiGateway::UsagePlan资源的Description属性。

Quota

配置用户可在指定时间间隔内发出的请求的数量。

类型:QuotaSettings

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::ApiGateway::UsagePlan资源的Quota属性。

Tags

与使用计划关联的任意标签(键值对)的数组。

此属性使用CloudFormation 标签类型

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::ApiGateway::UsagePlan资源的Tags属性。

Throttle

配置整体请求速率(每秒平均请求数)和突发容量。

类型:ThrottleSettings

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::ApiGateway::UsagePlan资源的Throttle属性。

UsagePlanName

使用计划的名称。

类型:字符串

必需:否

AWS CloudFormation 兼容性:此属性直接传递给AWS::ApiGateway::UsagePlan资源的UsagePlanName属性。

示例

UsagePlan

以下是使用计划示例。

YAML

Auth: UsagePlan: CreateUsagePlan: PER_API Description: Usage plan for this API Quota: Limit: 500 Period: MONTH Throttle: BurstLimit: 100 RateLimit: 50 Tags: - Key: TagName Value: TagValue