Cette rubrique présente les styles RPC et ROA pour OpenAPI. Pour formuler une requête personnalisée, vous devez connaître le style d'API du service que vous souhaitez appeler. Ce style détermine la structure de la méthode HTTP, des en-têtes de requête, de la chaîne de requête et du corps de la requête.
Les services Alibaba Cloud utilisent deux styles OpenAPI : RPC et ROA.
Style RPC
Le Remote Procedure Call (RPC) est un protocole permettant à un programme d'appeler une fonction ou une méthode dans un autre programme comme s'il s'agissait d'un appel local.
Dans une API de style RPC, le client communique avec le serveur par des appels de fonctions ou de méthodes, plutôt qu'en manipulant des ressources.
Les API de style RPC prennent en charge les méthodes HTTP GET et POST.
OpenAPI concerne les produits de style RPC, tels que Elastic Compute Service (ECS), ApsaraDB RDS et Content Delivery Network (CDN).
Exemple :
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
Style ROA
Le Representational State Transfer (REST) est un style architectural conçu pour les services web. Une API RESTful permet à une application cliente d'interagir avec un serveur via des requêtes HTTP, en utilisant des méthodes telles que GET, POST, PUT et DELETE pour effectuer des opérations de création, lecture, mise à jour et suppression (CRUD).
La Resource-Oriented Architecture (ROA) est un style architectural orienté ressource qui constitue une extension de REST.
Les API de style ROA prennent en charge les méthodes HTTP suivantes :
GET : récupère une ressource sur le serveur. Cette méthode ne modifie pas l'état des ressources côté serveur.
POST : envoie des données au serveur afin de créer une nouvelle ressource ou d'exécuter une action spécifique.
PUT : met à jour une ressource sur le serveur. Le client doit fournir l'intégralité des données de la ressource.
DELETE : supprime une ressource du serveur.
OpenAPI est utilisé pour les produits de style ROA tels que Application Real-Time Monitoring Service (ARMS), Batch Compute, Container Service for Kubernetes (ACK) et Elasticsearch.
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 9 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"
}
Vérifier le style d'API
Accédez à la section API Reference de la documentation d'un produit cloud dans le Centre d'aide et consultez le document API Overview, qui décrit le style d'API utilisé par OpenAPI. Par exemple, pour consulter le document Vue d'ensemble des API pour Elastic Compute Service (ECS), sélectionnez Developer Guide > API Reference (ECS) > API Overview dans la barre de navigation gauche du Centre d'aide Alibaba Cloud. La page fournit une description du style de signature : l'OpenAPI pour ce produit (Elastic Compute Service ECS/2014-05-26) utilise le style de signature RPC.