名前だけよく聞くけど使ったことない
今まで業務でAWS結構使ってきたけど、要件的に必要なかったりして、有名だけど触ってこなかったAWSサービスも試しに使ってみようと思った。
今回はAPI Gateway!
最近個人開発やろうとしていて、APIって必ず書くし、どんな感じなのかなって気になったので。
Hello Worldを返すサンプル
ネット上で簡単に試せるようなネタないかなーと調べてみたら画像付きでわかりやすいものがあった!
まずはこちら。Hello World返すだけだけど一番シンプルですぐ試せるからいいなと思った。
ちょっとつまづいた点としては、デプロイした時に払い出されるURLにリソース名もつけないといけないってこと。
[払い出されるURL]/[リソース名]
とこんな感じ。
最初、URLそのまま打ち込んだら、「missing authentication token」って表示されて、「あれ?デフォルトで認証トークン発行されるのかな?」って思ったが、そうではなく存在しないリソースにアクセスしたらこうなるみたい。
S3に画像ファイルをアップロードするサンプル
次にS3にファイルアップロードするサンプル
こちらはやってみたけど、API実行してみると、次のようなエラーで何故かアップロードできなかった。
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.
署名が一致してないというエラー。手順の中にCORSを有効にする設定があるからそれが関係しているのかな?
ネットでも調べてみたけど、ちょっとわからなかったので、アップロードはできなかったが設定手順を通してやってみて使い方のイメージはできたからこれで良しとした。
やっぱ実際にアプリ作るときはIAMロールとかポリシーとかその他設定とかやること多いんだろうなーって思った笑
Lambdaと組み合わせるのが定番みたい
ネット上の記事を調べるとLambdaと組み合わせるのが定番みたい。
また別の記事でAPI Gatewayについては深堀りしたいと思います。