Amazon web services 你能用云计算创建使用计划吗?

Amazon web services 你能用云计算创建使用计划吗?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,就像在标题中一样。我可以在AWS上只使用云结构部署东西。现在我尝试用API密钥保护我的API网关,看起来我需要一个使用计划。这里的文档似乎没有涵盖这一点: 你们有没有遇到过类似的问题?如果有,是如何解决的?AWS能够使用云形成模板创建云 现在可以使用CloudFormation创建 这个片段演示了如何在CloudFormation模板中使用UsagePlan和UsagePlanKey以及APIKey 使用计划: 类型:“AWS::ApiGateway::UsagePlan” 特性: 各阶段: -

就像在标题中一样。我可以在AWS上只使用云结构部署东西。现在我尝试用API密钥保护我的API网关,看起来我需要一个使用计划。这里的文档似乎没有涵盖这一点:

你们有没有遇到过类似的问题?如果有,是如何解决的?

AWS能够使用云形成模板创建云

现在可以使用CloudFormation创建

这个片段演示了如何在CloudFormation模板中使用UsagePlan和UsagePlanKey以及APIKey

使用计划:
类型:“AWS::ApiGateway::UsagePlan”
特性:
各阶段:
-阿皮德:!参考MyRestApi
舞台:!参考产品
说明:客户ABCs使用计划
配额:
限额:5000
期间:月
节流阀:
上限:200
差饷上限:100
用途计划名称:计划
ApiKey:
类型:“AWS::ApiGateway::ApiKey”
特性:
姓名:TestApiKey
描述:CloudFormation API密钥V1
启用:“真”
用法:
类型:“AWS::ApiGateway::UsagePlanKey”
特性:
凯伊:!参考ApiKey
密钥类型:API_密钥
UsagePlanId:!参考使用计划

对于任何阅读者,现在都可以通过CloudInformation中的
AWS::ApiGateway::UsagePlanKey
()资源类型来支持这一点。从该页:

AWS::ApiGateway::UsagePlanKey资源将AmazonAPI网关API密钥与API网关使用计划相关联。此关联确定应用使用计划的用户


AWS已经为API密钥创建提供了CloudFormation模板,其中还包含UsagePlan和UsagePlan密钥,因此可能将相同的CFT定义为:

 ApiKey:
    Type: 'AWS::ApiGateway::ApiKey'
    DependsOn:
      - ApiGatewayDeployment      
    Properties:
      Name: !Sub "you keyName-Apikeys"
      Description: Api Keys Description
      Enabled: 'true'
      StageKeys:
        - RestApiId: !Ref ApiGatewayRestApi
          StageName: !Sub "your stageName"
  
 usagePlan:
    Type: 'AWS::ApiGateway::UsagePlan'
    DependsOn:
      - ApiGatewayDeployment
    Properties:
      ApiStages:
        - ApiId: !Ref ApiGatewayRestApi
          Stage:  !Sub "your stageName"
      Description: your description of usage plan
      Quota:
        Limit: 50000
        Period: DAY
      Throttle:
        BurstLimit: 200
        RateLimit: 100
      UsagePlanName: !Sub "define your name of UsagePlan"

 usagePlanKey:
    Type: 'AWS::ApiGateway::UsagePlanKey'
    DependsOn:
      - ApiGatewayDeployment
    Properties:
      KeyId: !Ref ApiKey
      KeyType: API_KEY
      UsagePlanId: !Ref usagePlan


我希望这可能会对您有所帮助。

遗憾的是,没有关于如何向使用计划中添加API密钥的文档。似乎必须手动完成。谢谢@greg,我将更新我的答案以包含该细节