既存の SDK がビジネス要件を満たせない場合は、カスタム HTTP リクエストを作成できます。
手順
手順 1:アクセスするクラウドサービスのAPI スタイルを確認する
カスタム HTTP リクエストを作成するために使用される方法は、API のスタイルによって異なります。アクセスするクラウドサービスの API リファレンスを確認して、サービスがリモートプロシージャコール ( RPC ) スタイルまたはリソース指向アーキテクチャ ( ROA ) スタイルのどちらを使用しているかを判断できます。詳細については、「API スタイル」をご参照ください。
手順 2:リクエストを作成し、リクエストに署名する
リクエスト構文は、API のスタイルによって異なります。詳細については、「リクエスト構文と署名方法 V3」をご参照ください。
手順 3:レスポンスを処理する
API 操作によって返されるデータが既にわかっている場合は、レスポンスを事前に定義されたオブジェクトに変換できます。そうでない場合は、一般的な方法でレスポンスを処理する必要があります。
手順 4:例外処理と再試行ロジックを設計する
ネットワークの切断や無効なリクエストパラメータなどの問題が原因で、例外が発生する可能性があります。したがって、例外処理と再試行ロジックを設計する必要があります。
HTTP リクエストに署名する理由
HTTP リクエストへの署名は、クラウドサービスを悪意のあるリクエストから保護し、無効なリクエストを事前に遮断するためです。署名は、キー、タイムスタンプ、乱数などの特定の情報をリクエストに追加することによって実装されます。
HTTP リクエストに署名することで、次の目的を達成できます。
リクエストの偽造を防止する:署名は、API ゲートウェイがリクエストが正当なクライアントから送信されたかどうかを識別するのに役立ちます。これにより、無効なリクエストがシステムに入るのを防ぐことができます。
リプレイ攻撃を防止する:署名には、タイムスタンプや乱数などの情報が含まれています。これらは、リクエストが再生されるのを防ぎ、各リクエストが一度だけ実行されるようにします。
リクエストの改ざんを防止する:署名には資格情報が含まれており、送信中にリクエストが改ざんまたは偽造されていないことを保証できます。
監査をサポートする:署名は、リクエストの送信元情報とタイムスタンプを記録できます。これにより、サービスプロバイダーはシステムの使用状況を監査および追跡できます。