🔰

AWS初心者が CodeSandbox で使える API を Gemini に聞きながら作った

に公開

概要

  • React を学習するときに必要な API を AWS で作ってみようとした。
  • 今まで AWS をあまり利用することなくきたので、試すにはいい機会だった。
  • 本を読みながらは API を作るまでに時間がかかるので、Gemini に聞きながらやってみた。

きっかけ

React であれこれ試そうとすると、簡単な API が欲しい時があります。
仕事であれば、API側となるサーバーサイドのコードを仮で書くこともあります。でも、仕事ではなく試してみたいときに、「API をどうするか?」は悩ましいことでした。いろいろなサービスの API を利用するのもありますが、試してみたいことを提供してくれる都合のいい API があるとは限りません。

そこで、AWS で API を用意してみれば、AWS のことも学べそうなので、Gemini に聞きながら試すことにしました。

Gemini に聞くことにした理由

Gemini は、Google が提供する AI アシスタントです。すでにレシピをカロリー付きで教えてもらうなどしていたので、そのまま聞くことにしました。普段から聞いていたので、なんでも試してみやすいと感じていたことが聞くことにした理由だと思います。

実際に AWS で作る

やりたいことをいきなり始める前に、AWS のサービスを利用して API を作る方法の学習方法を聞きました。

始めるときに聞いたプロンプト

AWS の勉強も必要なので、AWS で、APIを作ることにしたいです。
どんなドキュメントをみていくと良いでしょうか?サポートしてもらえますか。

ドキュメントの探し方や、どんな AWS のサービスを使うといいか?も教えてくれました。
内心、「流石に知ってます」と思いました。
でも、シンプルな実装を試しませんか?と提案をしてきてくれたのは意外でした。

AWS Gateway と Lambda で用意する API

提案されたのは「trueかfalseを返すAPIのLambda関数」の例でした。
初めてのときに、常に固定よりも、true/false が変わる方が、動的に値取得している感じがあっていいですね。

export const handler = async (event) => {
  const randomValue = Math.random() < 0.5;
  const response = {
    statusCode: 200,
    body: JSON.stringify({ result: randomValue }),
  };
  return response;
};

こんな感じでサンプルコードまで用意してもらったので、AWS のドキュメントを見ながら、API Gateway と Lambda で API を動かすことまでできました。
そのあと、CodePen で動かそうとして、CORS(Cross-Origin Resource Sharing)のことを思い出しました。

わからなかったところを Gemini に聞く

API Gateway の画面で、操作してみましたが、上手くいかない。
もしかして? ANY で設定したのが良くなかったかも?と思って Gemini に聞くことにしました。設定の流れや、確認方法なども聞くことができました。

聞くときに、実際にしたことと、自分はこう考えているけれどどう?とぶつけて聞くようにしています。
そうすると、違うとか、補ってくれたりしてくれるのが Gemini に聞きたかいがあったと感じています。

まとめ

何回聞いてもいいし、意見をぶつけることもできる手応えはありました。今回は、入門のことなので、情報が多かったのも理由かもしれないです。

初めてのことでも、いつでも聞きながら試せることは楽しいです。

Discussion