質問: Chalice(app_name='sample') #a @app.route('/') #b def index(): return {'hello': 'world'} #c ``` 大雑把な質問で恐縮ですがよろしくお願いいたします。 追記 コードの出典先 Chaliceを使ってみた話 今までおもな参考にしたサイト 爆速API構築〜chalice編〜 Python でサーバーレスなら Chalice もいいぞ chaliceを使って簡単にPythonでサーバーレスしよう
回答: 基本的に検索して8割わからないものは、 自分の技術力と思考力が足りていません。 モノにするには困難であろうと思います。 努力してください。 構築者であるのであれば、サーバがわからないのにサーバレスを理解すること自体が間違っています。 開発者であるのであれば、クラウドやAWSを理解することです。 > > 1.Chaliceとは何者か? > > > Chaliceは、読んで字のごとく「杯」を意味します。 キリスト教では聖杯と言います。 読み方は、カリス。英語ではチャリスと読みます。 #余談ですが、古生代カンブリア紀に生息したであろう アノマロカリスのカリスは海老(caris)という意味なので全く別物です。 簡単に説明すると Chalice は API Gateway + AWS Lambda for Python の API 環境を実行するAWS用のPythonサーバーレスマイクロフレームワークです。 > > 2.Chaliceでなにができる? > > > シンプルで Python で簡単にサーバレス環境を管理・構築できることが特徴です。 Python の Flask WEBフレームワークを意識して作られているので、 パスルーティングの設定や、リクエスト、レスポンスの取り扱いはほぼそのままの知識でできます。 他にも以下のような特徴があります。 ・アプリケーションの作成、配備、および管理を行うためのコマンドラインツール ・Pythonコードでビューを宣言するための使い慣れた使いやすいAPI ・自動IAMポリシーの生成 > > 3.よくある下の例のa~cの行がどんな役割なのかわからない > > > Pythonがわかれば大体予想はつくと思います。 ``` from chalice import Chalice app = Chalice(app_name='sample') #a:sampleというカリスアプリ名をapp変数に設定しています。アプリの名前です。 @app.route('/') #b:パスルーティングです。APIがルート(クエリなし)で来た場合は、このブロックを処理します。 def index(): return {'hello': 'world'} #c:関数の戻り値です。{"hello": "world"}というjsonが返ります。 ``` `chalice deploy`を実行後、APIとして使います。 `app.py`として保存したのであれば ``` $ curl https://fniwurevpe.execute-api.us-west-2.amazonaws.com/api/ {"hello": "world"} ``` のような結果になります。