サンプルリスト

Apigee Edge の API サンプルには、Apigee Edge API Services の機能を紹介する API プロキシ、ポリシー、コード、ツールのサンプルが含まれています。

サンプルの使用方法については、サンプル API プロキシの使用をご覧ください。

使いながら学習する

Apigee Edge を使いながら基本的な知識やスキルを習得する方法はないものでしょうか。GitHub の「learn-edge」サンプル ライブラリを使用すると、サンプル プロキシのデプロイ、呼び出し、トレースの方法を学習できます。最初は簡単なプロキシから始めて、API キーの検証、割り当て、レスポンスのキャッシュ保存、エラー処理などを行う方法を説明していきます。

このリポジトリのクローンを作成してから環境を構築するまで、わずか数分しかかかりません。環境を構築したらサンプルを試してみましょう。どれも 1 分程度で終了します。それぞれのサンプルで新しいプロキシのリビジョンを作成していくので、環境が多くのサンプルでいっぱいになることはありません。管理 UI でリビジョンを切り替え、異なるリビジョンを再度デプロイし、プロキシのコードを確認していきます。各サンプルには readme も付いているため、サンプルの機能や設定方法を簡単に確認できます。

では、試してみましょう。https://github.com/apigee/api-platform-samples/tree/master/learn-edge

doc クックブックのサンプル

API プロキシ クックブック用のサンプルが用意されています。

名前 説明 ポリシータイプ リソース
javascript-cookbook 簡単な JavaScript スニペットを紹介します。このスニペッドは、変数から HTTP ヘッダーを追加し、JSON から XML に変換を行い、XML 形式の天気レポートを作成します。また、モバイル ユーザー向けにコンテンツのトリミングを行います。

Javascript
XMLToJSON

minimize.js
setHeaders.js
javascript-mashup-cookbook 公開 API を呼び出して結果を統合し、クライアント アプリへの詳細なレスポンスを生成する完全な JavaScript アプリケーション(注: この API プロキシは、policy-mashup と同じ機能を実装します。同じ問題を異なる手法で解決する方法も紹介します)。 JavaScript MashItUp.js
java-hello hello world を表示するシンプルな Java Callout。 JavaCallout JavaHello.java
java-cookbook レスポンスのコンテンツとヘッダーを大文字に変換します。 JavaCallout
ResponseUppercase.java
java-properties Java コールアウトでプロパティを使用する方法を紹介します。 JavaCallout JavaProperties.java
java-error Java Callout コードで使用できるエラー処理のパターンを説明します。 JavaCallout JavaError.java
policy-mashup-cookbook 2 つの公開 API を呼び出して結果を統合し、クライアント アプリへの詳細なレスポンスを生成する完全なアプリケーション(注: この API プロキシは、javascript-mashup と同じ機能を実装します。同じ問題を異なる手法で解決する方法も紹介します)。 AssignMessage
ServiceCallout
ExtractVariables
Javascript
XMLToJSON
GenerateResponse.js

API プロキシのサンプル

以下の API プロキシは GitHub にあります。この readme ページには、サンプルに関する詳しい説明が掲載されています。サンプルの中で特定のポリシーについて詳しく知りたい場合は、以下の「ポリシータイプ」列でカテゴリを探して、「名前」列のサンプル名をクリックしてください。ポリシーに関連する docs のリファレンス ページに移動します。

リファレンスとツール

上記の表の doc クックブック サンプルとサンプル プロキシに加えて、Edge GitHub サンプルには次のリソースも含まれています。

名前 説明 ポリシータイプ リソース
regex-protection regular expression threat protection ポリシーは、バックエンドの API とマイクロサービスを SQL インジェクション攻撃から保護します。

Regular Expression Protection

なし
oauth-validate-key-secret OAuth パスワード権限付与タイプのフローを実装しています。外部の ID プロバイダを呼び出してユーザーの認証情報を検証する前に、Edge でアプリケーションのクライアント キーとシークレットの両方を検証する必要があります。 OAuthV2、その他 なし
condition-pattern-matching このプロキシを使用すると、API プロキシフローで条件文のテストを簡単に行えます。 AssignMessage なし
access-entity Apigee Edge データストアからエンティティのプロファイルを取得する方法を説明します。 AssignMessage
AccessEntity
ExtractVariables
なし
apikey 簡単な API キー検証を実装します。 VerifyAPIKey
AssignMessage
Quota
なし
async-callout JavaScript httpClient を使用して、簡単な非同期コールアウトを説明します。 JavaScript assemble_response.js
callout.js
base64encoder API プロキシの JavaScript リソースから JavaScript のインクルードを呼び出す方法を説明します。 AssignMessage
Javascript
core-min.js
enc-utf16-min.js
enc-base64-min.js
encodeAuthHeader.js
conditional-policy 簡単な条件付きポリシーを実装します。リクエストに HTTP ヘッダー responsetime:true が含まれている場合、ポリシーは Python スクリプトを実行し、一連のパフォーマンス指標を HTTP ヘッダーとしてレスポンス メッセージに追加します。 スクリプト(Python) timer.py
dynamic-endpoint 少し複雑なシナリオで条件付きのルーティングを実装しています。ここでは、2 つの URL を定義し、1 つのデフォルトのルートに設定しています。 なし なし
jira-release-notes これは、Apigee doc チームが Jira からリリースノートを生成するために使用する API プロキシです。 JSONToXML
XSL
releasenotes_api.xsl
kerberos-credential-mediation このサンプルでは、Apigee Edge で Kerberos Credential Mediation を実行します。 JavaCallout Java JAR ファイル
oauth-advanced 完全な認証コード権限付与タイプのフローです。Apigee Edge を認可サーバーとして使用しています。

GenerateAccessToken
GenerateAuthCode
RefreshAccessToken

その他...

サンプルコードを参照
oauth-client-credentials クライアント認証情報の権限付与タイプに構成されたフル機能の OAuth 2.0 トークン エンドポイントです。 GenerateAccessToken なし
oauth-login-app 非推奨。oauth-advanced サンプルをご覧ください。
oauth-validate-key-secret ID プロバイダを呼び出して、パスワード権限付与タイプフローでユーザーの認証情報を検証する前に、クライアントのキーとシークレットを検証する方法を解説しています。 OAuthV2
AssignMessage
ExtractVariables
ServiceCallout
RaiseFault
なし
oauth-verify-accesstoken OAuth 2.0 アクセス トークンを検証して割り当てを確認するように構成された API プロキシです。 VerifyAccessToken
Quota
なし
oauth10a-3legged OAuth 1.0a の three-legged 構成を説明しています。 GenerateAceessToken
GenerateRequestToken
ServiceCallout
VerifyAccessToken
なし
outbound-oauth Microsoft Azure translator API を使用して、ツイートを翻訳します。そのために、まず送信呼び出しを行って OAuth アクセス トークンを取得し、取得したトークンを API サービスのキャッシング ポリシーを使用してキャッシュに保存します。以降は、送信呼び出しを行うたびにキャッシュに保存されているトークンを再利用します。このサンプルには、API プロキシの呼び出しに使用するデモ用ブラウザも含まれています。 AssignMessage
LookupCache
PopulateCache
Javascript
api-config.js
api-token-get.js
translate-query.js
translate-results.js
pagination クライアントから提供された limit と offset パラメータに基づいて XML レスポンス メッセージをページ分割します。 AssignMessage
ExtractVariables
ResponseCache
VerifyApiKey
XSL
paginate.xslt
response-cache Edge で 10 分間天気予報をキャッシュに保存する方法を説明します。 ResponseCache
AssignMessage
なし
simple-python レスポンスに Python スクリプトを追加して、
ヘッダー値を追加する簡単なシナリオを説明します。
スクリプト(Python) setHeader.py
soap クエリ パラメータ ?wsdl を含むリクエストのレスポンスで WSDL ファイルを書き換える XSL 変換を説明します。 AssignMessage
ExtractVariables
Script(Python)
XSL
calculateaddress.py
fixwsdl.xsl
ストリーミング HTTP ストリーミング構成を説明します。 なし なし
target-reroute JavaScript を使用して、リクエスト メッセージのコンテンツに応じてターゲット URL を動的に選択する方法を説明します。 ExtractVariables
Javascript
rewriteTargetUrl.js
twitter-mobile-timeline JavaScript を使用して、ツイートから不要なパラメータを削除し、リソースに制約があるモバイル デバイスでも利用できる Twitter タイムラインを作成する方法を説明します。 AssignMessage
Javascript
MobileTimeline.js
twitter-oembed タイムライン レスポンス(statuses/user_timeline.json からのレスポンスなど)を oEmbed レスポンスに変換して、リッチな HTML コンテキストでタイムライン データを表示する方法を説明します。 AssignMessage
JavaScript
search-oembed.js
variables 転送、JSON、XML メッセージのコンテンツに基づいて変数を抽出および設定する方法について説明します。 AssignMessage
ExtractVariables
XMLToJSON
minimize.js
xmltojson レスポンス データを XML から JSON に変換します。 XMLToJSON
JSONToXML
なし

/schemas

API プロキシ、API プロダクト、デベロッパー、アプリのプロファイルを構成するときに参照として使用できる XML スキーマ ファイル。

/tools

デプロイ ツール deploy.py があります。このツールを使用すると、API プロキシを Apigee Edge の組織にインポートして、指定した環境にデプロイできます。

/org-snapshot

組織のスナップショット ツールを使用して、デベロッパー、API プロダクト、仮想ホスト、Key-Value マップなどの組織の設定を取得します。組織の詳細情報をバックアップする場合や、組織の設定を検出する場合にも使用できます。

Apigee-127

Node.js と Swagger を使用する API プロキシのコーディングに Apigee-127 を使用できます。a127 のサンプルは GitHub(https://github.com/apigee-127/a127-samples)にあります。

エクスペリエンスを共有する

エクスペリエンスを Apigee デベロッパー フォーラムで共有しましょう。