API記述を含めたAPIリソースの作成
APIゲートウェイへのAPIデプロイに使用できるAPIゲートウェイ・サービスを使用してAPIリソースを作成する方法をご紹介します。
APIゲートウェイ・サービスを使用する際には、APIリソースを作成するオプションがあります。APIリソースを使用して、APIゲートウェイにAPIをデプロイできます。APIリソースには、APIを記述するAPI記述が含まれます。
APIリソースを使用してAPIゲートウェイにAPIをデプロイする場合、そのAPI記述によってAPIデプロイメント仕様のプロパティの一部が事前移入されます。
オプションで、サポートされている言語で記述されたファイル(「API仕様」や「API spec」とも呼ばれる)からAPI記述をインポートできます。現在、OpenAPI Specificationバージョン2.0 (以前のSwagger Specification 2.0)およびバージョン3.0がサポートされています。
APIゲートウェイ・サービスでのAPIリソースの作成はオプションです。APIゲートウェイ・サービスでは、APIリソースを作成しなくてもAPIゲートウェイにAPIをデプロイできます。また、最初はAPI記述のないAPIリソースを作成し、後からAPI記述を追加することもできます。
- 「API」リスト・ページで、「APIの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、APIリソースのリストを参照してください。
-
APIリソースに次の値を指定します:
- 名前: APIリソースの名前。機密情報の入力は避けてください。
- コンパートメント: APIリソースを作成するコンパートメント。
- アップロードAPI記述ファイル: (オプション) (サポートされている言語での)アップロードするAPI記述が含まれる、API記述の作成元となるファイル。ファイルの最大サイズは1MBです。ファイルが解析されて、サポートされている言語で記述され、正しくフォーマットされていることを確認します。現在、OpenAPI Specificationバージョン2.0 (以前のSwagger Specification 2.0)およびバージョン3.0のファイルがサポートされています。
- 拡張オプションの表示:リソースにタグを適用するには、このオプションを選択します。リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後で適用できます。
-
「APIの作成」を選択して、APIリソースを作成します。
API記述ファイルをアップロードした場合は、API記述が作成されて検証されます。API記述の検証には数分かかる場合があります。検証中は、「検証」ページにAPI記述が「検証中」の状態で表示されます。API記述の検証に成功すると、次のアクションが発生します。
- 「検証」ページに、成功した検証が表示されます。
- 「API記述」ページには、API記述ファイルから作成されたAPI記述が表示されます。
- 「APIデプロイメント仕様」ページには、API記述から作成されたデフォルトのAPIデプロイメント仕様に関する追加情報が表示されます。
APIリソースをすぐに作成するのではなく、後でResource ManagerとTerraformを使用して作成できることに注意してください。「スタックとして保存」を選択して、リソース定義をTerraform構成として保存します。リソース定義からのスタックの保存の詳細は、「リソース作成ページからのスタックの作成」を参照してください。
-
数分以上待機してもAPI記述が「有効」と表示されない場合(またはAPI記述の検証操作が失敗した場合)は、次のステップを実行します。
- 「作業リクエスト」を選択すると、API記述の検証操作の概要が表示されます。
- 「APIの検証」操作を選択すると、操作に関する詳細情報(エラー・メッセージ、ログ・メッセージ、関連付けられたリソースのステータスなど)が表示されます。
- API記述の検証操作が失敗したため、作業リクエスト情報を原因と診断できない場合は、APIゲートウェイのトラブルシューティングを参照してください。
-
初めてAPIリソースを作成したときにAPI記述ファイルをアップロードしなかった場合、または後から別のAPI記述ファイルをアップロードする場合は、次のステップを実行します。
- 「API」ページで、APIリソースの から「編集」を選択します。
- API記述の作成元となるAPI記述ファイルの詳細を指定します。
API記述を含むAPIリソースの作成に成功したら、それをAPIゲートウェイにデプロイできます。コンソールを使用したAPIリソースからのAPIデプロイメントの作成を参照してください。
CLIを使用してAPIリソースを作成するには、次のステップを実行します。
- CLIを使用するためにクライアント環境を構成します(APIゲートウェイ開発用のCLIを使用するためのクライアント環境の構成)。
- コマンド・プロンプトを開き、
oci api-gateway api create
を実行してAPIリソースを作成します:oci api-gateway api create --display-name "<api-name>" --compartment-id <compartment-ocid> --content "<api-description>"
ここでは:
<api-name>
は、新しいAPIリソースの名前です。機密情報の入力は避けてください。<compartment-ocid>
は、新しいAPIリソースが属するコンパートメントのOCIDです。<api-description>
は、(サポートされている言語での) API記述です(オプション)。<api-description>
には、次の値を指定できます:- 二重引用符で囲んだAPI記述全体。記述の内側で、各二重引用符をバックスラッシュ(\)文字でエスケープする必要があります。例(読みやすいように省略しています):
--content "swagger:\"2.0\",title:\"Sample API\",..."
- 二重引用符で囲んで
"$(< <path>/<filename>.yaml)"
という形式にした、API記述ファイルの名前と場所。例:--content "$(< /users/jdoe/api.yaml)"
- 二重引用符で囲んだAPI記述全体。記述の内側で、各二重引用符をバックスラッシュ(\)文字でエスケープする必要があります。例(読みやすいように省略しています):
例:
oci api-gateway api create --display-name "Hello World API Resource" --compartment-id ocid1.compartment.oc1..aaaaaaaa7______ysq --content "swagger:\"2.0\",title:\"Sample API\",..."
コマンドへのレスポンスには、次が含まれます:
- APIリソースのOCID。
- ライフサイクルの状態(たとえば、SUCCEEDED、FAILED)。
- APIリソースを作成する作業リクエストのID (作業リクエストの詳細は、完了、取消または失敗の後の7日間利用可能です)。
APIリソースが作成される(またはリクエストが失敗する)までコマンドが制御を返すのを待機する場合は、次のいずれかまたは両方のパラメータを含めます:
--wait-for-state SUCCEEDED
--wait-for-state FAILED
例:
oci api-gateway api create --display-name "Hello World API Resource" --compartment-id ocid1.compartment.oc1..aaaaaaaa7______ysq --content "swagger:\"2.0\",title:\"Sample API\",..." --wait-for-state SUCCEEDED
APIリソースは、作業リクエストによって正常に作成されるまでは使用できません。
-
(オプション) APIリソースを作成している作業リクエストのステータスを確認するには、次を入力します:
oci api-gateway work-request get --work-request-id <work-request-ocid>
-
(オプション) APIリソースを作成している作業リクエストのログを表示するには、次を入力します:
oci api-gateway work-request-log list --work-request-id <work-request-ocid>
-
(オプション) APIリソースを作成している作業リクエストが失敗した場合に、エラー・ログを確認するには、次を入力します:
oci api-gateway work-request-error --work-request-id <work-request-ocid>
CLIの使用の詳細は、コマンドライン・インタフェース(CLI)を参照してください。CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。
CreateAPI操作を実行して、APIリソースを作成します。