このトピックでは、OpenAPI の RPC スタイルと ROA スタイルについて説明します。カスタムリクエストを作成するには、呼び出すサービスの API スタイルを把握しておく必要があります。API スタイルによって、HTTP メソッド、リクエストヘッダー、クエリ文字列、リクエストボディの構成方法が決まります。
Alibaba Cloud のサービスは、2 つの OpenAPI スタイル (RPC と ROA) を使用します。
RPC スタイル
リモートプロシージャコール (RPC) とは、あるプログラムが別のプログラム内の関数またはメソッドを、ローカル呼び出しであるかのように呼び出せるようにするプロトコルのことです。
RPC スタイルの API では、クライアントはリソースを操作するのではなく、関数またはメソッド呼び出しを使用してサーバーと通信します。
RPC スタイル API は、GET および POST の HTTP メソッドをサポートします。
OpenAPI は、Elastic Compute Service (ECS)、ApsaraDB RDS、コンテンツデリバリーネットワーク (CDN) などの RPC スタイル製品で使用されます。
例:
http://ecs.aliyuncs.com/?SignatureVersion=1.0&Action=DescribeDedicatedHosts&Format=XML&SignatureNonce=3ee8c1b8-xxxx-xxxx-xxxx-xxxxxxxxx&Version=2014-05-26&AccessKeyId=testid&Signature=OLeaidS1JvxuMvnyHOwuJ%2BuX5qY%3D&SignatureMethod=HMAC-SHA1&Timestamp=2016-02-23T12%3A46%3A24Z&RegionId=cn-hangzhou&Status=Available
ROA スタイル
Representational State Transfer (REST) は、Web サービスを設計するためのアーキテクチャスタイルです。RESTful API を使用すると、クライアントアプリケーションは HTTP リクエストを介してサーバーとやり取りできます。GET、POST、PUT、DELETE などの HTTP メソッドを使用して、作成、読み取り、更新、削除 (CRUD) 操作を実行します。
リソース指向アーキテクチャ (ROA) は、リソースベースのアーキテクチャスタイルで、REST の拡張です。
ROA スタイル API は、次の HTTP メソッドをサポートします:
-
GET:サーバーからリソースを取得します。このメソッドは、サーバー上のリソースの状態を変更しません。
-
POST:サーバーにデータを送信して、新しいリソースを作成するか、特定のアクションを実行します。
-
PUT:サーバー上のリソースを更新します。クライアントは、リソースの完全なデータを指定する必要があります。
-
DELETE:サーバーからリソースを削除します。
OpenAPI は、Application Real-Time Monitoring Service (ARMS)、Batch Compute、Container Service for Kubernetes (ACK)、Elasticsearch などの ROA スタイル製品で使用されます。
POST /clusters/test_cluster_id/triggers HTTP/1.1
{
"x-acs-action": "CreateTrigger",
"x-acs-version": "2015-12-15",
"Accept": "application/json",
"Authorization": "acs testid:D9uFJAJgLL+dryjBfQK+YeqGtoY=",
"x-acs-signature-nonce": "15215528852396",
"Date": "Tue, 12 Apr 2022 07:35:29 GMT",
"x-acs-signature-method": "HMAC-SHA1",
"Content-MD5": "Gtl/0jNYHf8t9Lq8Xlpaqw==",
"Host": "cs.aliyuncs.com"
}
{
"cluster_id": "test_cluster_id",
"project_id": "default/nginx-test",
"action": "redeploy",
"type": "deployment"
}
API スタイルの確認
ヘルプセンターのクラウド製品ドキュメントにある[API リファレンス]セクションに移動し、OpenAPI が使用する API スタイルを説明している[API 概要]ドキュメントを確認してください。たとえば、Elastic Compute Service (ECS) のAPI 概要ドキュメントを確認するには、Alibaba Cloud ヘルプセンターの左側メニューで、[開発者ガイド] > [API リファレンス (ECS)] > [API 概要] を選択してください。このページには、署名スタイルに関する説明として「この製品 (Elastic Compute Service ECS/2014-05-26) の OpenAPI は RPC 署名スタイルを使用します」と表示されます。