BETA

AWS APIGateWayについて調べてみた(RESTを使って対話してみよう編)

投稿日:2019-12-26
最終更新:2019-12-26

対象読者

  • AWSをはじめたての方(←私です)
  • RESTというものを体験してみたい人

この記事のゴール

RESTについてAPIGatewayを使って説明できる

お品書き

  • RESTを使って対話してみよう編
  • APIGateWayの設定している内容を説明してみよう編

勉強させていただいたページ

APIGateWayで何ができるんですか?

シンプルにいうと『クラウドにて開発したアプリケーションをクラウドの外部に公開できるサービス』です。
WebServerをわざわざ立てて、ネットワークを構築して、コーディングして、送受信部のコーディングをして、みたいな面倒なことを考えなくて良い!くらいの心持ちです(笑)

使い方の例を教えてよ!

よく出てくるのはAWSLambdaとの組み合わせです。
Lambdaはサーバーレスコンピューティングとも言われる通り、サーバーを起動し続ける必要なく静的なアプリケーションを作成できるサービスです。PythonやNodejs等でコードを書きながら、簡単に他のクラウドサービスとの連携が可能です。
しかし!一歩クラウドの外に出てしまうと、Lambdaを呼び出せないなんてことがおきます。
そこで、APIGateWayと接続することで、外部に公開し、たとえばAndroidアプリやWebServerから、クラウドサービスを呼び出すことができるようになります。

何はともあれ、使ってみるんやで( )

これから準備するもの

  • AWS Lambda
  • AWS API GateWay
  • POSTMAN
     GETやPOSTを簡単に送信できるアプリ
     JSON等々の設定もUIを使って実施できます。

    筆者の環境

  • Mac OS Mojave 10.14.6

AWSで準備するものは以下を参照

上記のAPIはRESTで構築していきます。

POSTMANの準備

インストール方法

POSTMAN
ここからインストールしてみてください。
何にも考えずに次々でOKです。

使い方

実は、もう試すことができます。

  1. RESTのURLをAWS API GateWayからコピー
    APIを選択 → ステージ → 作ったAPIのを選択する。今回はPOSTを選択しました。
  2. POSTMANの上の欄にコピペして、右のプルダウンからPOSTを選択
  3. SENDを押してみると...返ってきた!

    "statusCode": 200
    "body":"Hello from Lambda!"

Bodyに何か入れてみよう!

POSTMAN側の設定

  1. Bodyのタブを選択
  2. プルダウンで"raw"を選択
  3. 以下の内容を入れてみてください。
    {  
    "key1": "value1",  
    "key2": "value2",  
    "key3": "value3"  
    }  

Lambda側の設定

  1. 下のように変更して保存してみてください。
import json  

def lambda_handler(event, context):  
    # TODO implement  

    text = event["key1"]  


    return {  
        'statusCode': 200,  
        'body': json.dumps(text),  
    }  

eventの中にPOSTMANで設定したBodyの内容が入っています。
key2にすると、value2が返ってきます。

次はAPIGatewayを詳しくみてみよう

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@zJ5Lq0dEDe4h6pOqの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう