Amazon Swaggerインポーターの利用を開始する

  2015年9月3日

著者: Ole Lensmar

今年の初め、Amazon Web Services (AWS) は Amazon API Gateway をリリースしました。これは、さまざまなプラットフォーム上でクラウドで実行される API を管理するための本格的なサービスです。API Gateway を利用することで、Amazon API Gateway によって管理される API 定義の定義と更新の可能性を含め、API のあらゆる側面を管理できます。リリースの一環として、AWS は Swagger 定義を使用して Amazon API Gateway で API を作成または更新できるコマンドラインツールも作成しました。Swagger Importer は、AWS アカウントをお持ちであれば誰でも使用できるように GitHub で入手できます。

「大規模な API を堅牢に構築および実行することは、お客様にとって大きな課題です。しかし、これは複数のデバイスを通じて利用される最新のアプリケーションを構築および運用するための最も重要な要素の 1 つです。お客様がこの課題を克服できるように、Amazon API Gateway を導入しました」と、AWS のバイスプレジデントである Marco Argenti 氏は述べています。「Swagger インポートツールのリリースは、Amazon API Gateway にとって重要なマイルストーンです。これにより、お客様は既存のワークフローを大幅に変更することなくサービスと連携できます。API 定義に Swagger を使用することで、AWS のお客様は、ドキュメント生成など、Swagger にすでに利用可能なすべてのオープンソースツールも活用できます。」

このツールを使用して Swagger 定義を Amazon API Gateway にインポートする方法を、簡単なステップバイステップで見ていきましょう。

ステップ 1 - AWS アカウントを作成する

AWS アカウントをお持ちでない場合は、今すぐ作成してください。サインアップすると、AWS ダッシュボードから API マネージャーにアクセスできます。

ステップ 2 - インポーターを含む GitHub リポジトリ をクローンし、ローカルでビルドする

これには、ある程度の技術的な知識が必要です。git クライアント、Java 8、および Maven がすべてローカルにインストールされている必要があります。まず、マシン上に空のディレクトリを作成し、その中で次のコマンドを実行します。

git clone https://github.com/awslabs/aws-apigateway-swagger-importer.git

リポジトリがクローンされたら、次のコマンドでツールをビルドします。

mvn assembly:assembly

これはしばらく時間がかかり、最終的には次のような出力になるはずです。

build-output

ステップ 3 - Amazon Command Line Interface (CLI) をインストールして設定する

http://aws.amazon.com/cli/ からご使用の OS 用をダウンロードし、http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html で説明されているように設定して、AWS アカウントにアクセスできるようにシステムを設定します。

これで、Swagger 定義をインポートする準備が整いました!

ステップ 4 - Swagger をインポートする!

インポートは簡単です。Swagger 2.0 定義へのローカルパスが利用可能であることを確認し、次のコマンドを実行します(まだ上記でビルドした aws インポーターのフォルダ内です)。

/aws-api-import.sh --create <path-to-local-swagger-json>

すべてがうまくいけば、次のような出力が得られるはずです。

importer-output

(インポートされたファイルは、https://github.com/swagger-api/swagger-spec/blob/master/examples/v2.0/json/petstore-minimal.json で入手可能な swagger サンプルです)

AWS の API Manager コンソールに戻ると、API が表示されるはずです。

imported-api

インポートされたメソッドをドリルダウンすると、次の画面が表示されます。

imported-api-method

素晴らしい!これで、Amazon を介して API の管理を開始する準備が整いました。Lambda 関数(または HTTP プロキシ)については、http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html  をお読みください。

ステップ 5 - 掘り下げる!

これで終わりです。実際にはかなり簡単です。しかし、結局のところ、Swagger と AWS について話しているので、何を期待していましたか?お楽しみください!