質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

892閲覧

AWS SAMでLambdaとAPI Gatewayを用いてPost用APIを設定したい。

yuki_90453

総合スコア326

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2020/02/14 08:56

AWS SAMのCfnでAPIキー付きPostをメソッドを設定したいと考えております。
下記のように書いたのですが。APIキーの設定しかたがわかりません。
AWSの管理画面上であれば、設定方法がわかるのですが、できればCfnで設定したいと思います。

Events: Postdata: Type: Api Properties: Path: /post_way Method: post

必要な項目やなにか参考になる情報を頂けないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tktcorporation

2020/03/09 10:15

すみません、APIキー とは、認証付き、ということでしょうか? 例えば、Cognito の token を head に入れた アクセスだけを通したい。というような
guest

回答1

0

AWSTemplateFormatVersion: "2010-09-09" Transform: AWS::Serverless-2016-10-31 Description: API using NodeJS and Typescript Parameters: APIName: Type: String Description: The name of the Test API MinLength: 3 MaxLength: 20 AllowedPattern: "^[a-zA-Z][a-zA-Z0-9_]*$" Default: TestAPI CognitoUserPoolName: Type: String CognitoUserPoolClientName: Type: String IdentityPoolName: Type: String AllowOrigin: Type: String Default: "'*'" Globals: Function: Runtime: nodejs12.x Timeout: 10 Resources: ApiGateway: Type: AWS::Serverless::Api Properties: StageName: !Ref NodeEnv DefinitionBody: Auth: Authorizers: CognitoAuthorizer: UserPoolArn: !GetAtt CognitoUserPool.Arn Cors: AllowOrigin: !Ref AllowOrigin AllowMethods: "'*'" AllowHeaders: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'" CognitoUserPool: Type: AWS::Cognito::UserPool Properties: UserPoolName: !Ref CognitoUserPoolName CognitoUserPoolClient: Type: AWS::Cognito::UserPoolClient Properties: ExplicitAuthFlows: - ADMIN_NO_SRP_AUTH UserPoolId: !Ref CognitoUserPool ClientName: !Ref CognitoUserPoolClientName CognitoIdentityPool: Type: AWS::Cognito::IdentityPool Properties: IdentityPoolName: !Ref IdentityPoolName AllowUnauthenticatedIdentities: False CognitoIdentityProviders: - ClientId: !Ref CognitoUserPoolClient ProviderName: Fn::GetAtt: [CognitoUserPool, ProviderName] HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./handler.zip Handler: hello.handler Events: HelloWorld: Type: Api Properties: RestApiId: !Ref ApiGateway Path: /hello Method: get Outputs: HelloWorldFunction: Description: "Hello World Lambda Function ARN" Value: !GetAtt HelloWorldFunction.Arn

cognito で認証を行う場合は、こんな感じの CFn で動くのではないかと思います。

投稿2020/03/09 10:27

tktcorporation

総合スコア108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問