2017-05-17 33 views
0

ユーザーが新しいアプリケーションを作成するときに、AWSからAPIキーを生成する必要もあります。新しいクライアントごとに特定の使用計画(静的)を割り当てる必要があります。私はエラーparams [:usage_plan_id]で予期しない値を取得しています。これはレスキューを引き起こします。私がここで紛失しているアイデアは何ですか?利用プランを使用したAWS APIゲートウェイクライアントAPIキーの作成

def create 
    @app = App.create(app_params) 

    begin 

    # ... 

    aws_client = Aws::APIGateway::Client.new(
     region: "xxxxxxxxxxx", 
     access_key_id: AWS_ACCESS_KEY, 
     secret_access_key: AWS_ACCESS_SECRET 
    ).create_api_key({ 
     name: @app.name, 
     enabled: true, 
     generate_distinct_id: true, 
     usage_plan_id: "xxxxxx" 
    }) 

    logger.debug aws_client.inspect 

    rescue => e 
    logger.error e.message 
    # ... 
    end 

    respond_with(@app) 
end 

答えて

0

はここで発生する必要があるものです:

  1. はAWS APIゲートウェイへの新しいクライアント接続を確立します。
  2. クライアント用のAPIキーを作成します。
  3. api_keyを含むクライアントを使用計画に追加します。

    aws_api_key = API_GATEWAY.create_api_key({ 
        name: @app.name, 
        enabled: true, 
        generate_distinct_id: true, 
        stage_keys: [{ 
        rest_api_id: "xxxxxxx", 
        stage_name: "xxxxxxxx" 
        }] 
    }) 
    
    resp = API_GATEWAY.create_usage_plan_key({ 
        usage_plan_id: "xxxxxx", 
        key_id: aws_api_key.id, 
        key_type: "API_KEY" 
    }) 
    
    :コントローラで

    API_GATEWAY = Aws::APIGateway::Client.new(
        region: "xxxxx", 
        access_key_id: "xxxxxxxxxxxxxxxx", 
        secret_access_key: "xxxxxxxxxxxxxx" 
    ) 
    

    :AWS configファイルに

関連する問題