Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen und konfigurieren Sie API Schlüssel und Nutzungspläne mit AWS CloudFormation
Sie können verwenden AWS CloudFormation , um API Schlüssel für API Methoden anzufordern und einen Nutzungsplan für eine zu erstellenAPI. Die AWS CloudFormation Beispielvorlage macht Folgendes:
Erzeugt ein API Gateway API mit
POST
MethodenGET
und.Erfordert einen API Schlüssel für die
POST
MethodenGET
und. Dieser API empfängt Schlüssel aus demX-API-KEY
Header jeder eingehenden Anfrage.Erzeugt einen API Schlüssel.
-
Es wird ein Nutzungsplan erstellt, um ein monatliches Kontingent von 1 000 Anfragen pro Monat, ein Limit bei der Drosselungsrate von 100 Anfragen pro Sekunde und ein Drosselungs-Burst-Limit von 200 Anfragen pro Sekunde festzulegen.
-
Gibt für die
GET
-Methode ein Limit fvon 50 Anfragen pro Sekunde ür die Drosselungsrate auf Methodenebene und ein Burst-Limit für die Drosselung auf Methodenebene von 100 Anfragen pro Sekunde an. Ordnet die API Phase und den API Schlüssel dem Nutzungsplan zu.
AWSTemplateFormatVersion: 2010-09-09 Parameters: StageName: Type: String Default: v1 Description: Name of API stage. KeyName: Type: String Default: MyKeyName Description: Name of an API key Resources: Api: Type: 'AWS::ApiGateway::RestApi' Properties: Name: keys-api ApiKeySourceType: HEADER PetsResource: Type: 'AWS::ApiGateway::Resource' Properties: RestApiId: !Ref Api ParentId: !GetAtt Api.RootResourceId PathPart: 'pets' PetsMethodGet: Type: 'AWS::ApiGateway::Method' Properties: RestApiId: !Ref Api ResourceId: !Ref PetsResource HttpMethod: GET ApiKeyRequired: true AuthorizationType: NONE Integration: Type: HTTP_PROXY IntegrationHttpMethod: GET Uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets/ PetsMethodPost: Type: 'AWS::ApiGateway::Method' Properties: RestApiId: !Ref Api ResourceId: !Ref PetsResource HttpMethod: POST ApiKeyRequired: true AuthorizationType: NONE Integration: Type: HTTP_PROXY IntegrationHttpMethod: GET Uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets/ ApiDeployment: Type: 'AWS::ApiGateway::Deployment' DependsOn: - PetsMethodGet Properties: RestApiId: !Ref Api StageName: !Sub '${StageName}' UsagePlan: Type: AWS::ApiGateway::UsagePlan DependsOn: - ApiDeployment Properties: Description: Example usage plan with a monthly quota of 1000 calls and method-level throttling for /pets GET ApiStages: - ApiId: !Ref Api Stage: !Sub '${StageName}' Throttle: "/pets/GET": RateLimit: 50.0 BurstLimit: 100 Quota: Limit: 1000 Period: MONTH Throttle: RateLimit: 100.0 BurstLimit: 200 UsagePlanName: "My Usage Plan" ApiKey: Type: AWS::ApiGateway::ApiKey Properties: Description: API Key Name: !Sub '${KeyName}' Enabled: True UsagePlanKey: Type: AWS::ApiGateway::UsagePlanKey Properties: KeyId: !Ref ApiKey KeyType: API_KEY UsagePlanId: !Ref UsagePlan Outputs: ApiRootUrl: Description: Root Url of the API Value: !Sub 'https://${Api}.execute-api.${AWS::Region}.amazonaws.com/${StageName}'