Lorsque vous utilisez le SDK V2.0 pour appeler une opération OpenAPI, vous devez configurer l'endpoint du service Alibaba Cloud cible. Lors de la création d'une ressource, sélectionnez l'endpoint de la région physiquement la plus proche de votre activité afin de réduire la latence réseau et d'améliorer la vitesse de réponse. Pour interroger, mettre à jour ou supprimer une ressource, choisissez l'endpoint de la région où celle-ci réside, car le stockage des ressources est spécifique à chaque région ; une opération inter-régionale pourrait échouer ou engendrer des risques d'incohérence des données.
Types d'endpoints
Les endpoints se divisent en deux catégories : les endpoints publics et les endpoints VPC. Si votre activité est déployée dans un VPC, par exemple sur ECS ou ACK, vous pouvez accéder aux ressources cloud de ce VPC via un endpoint VPC. Les endpoints VPC renforcent la sécurité et réduisent la latence réseau. Pour plus d'informations, consultez la rubrique Endpoints.
Définir un endpoint
Le SDK V2.0 propose deux méthodes pour définir un endpoint lors de l'initialisation de l'objet client d'un service cloud :
Méthode 1 : Spécifier un endpoint (recommandée) — Indiquez directement l'endpoint. Cette approche prend en charge à la fois les endpoints publics et les endpoints VPC.
Méthode 2 : Spécifier un ID de région — Fournissez un ID de région et le SDK récupère automatiquement l'endpoint correspondant.
Les formats des endpoints VPC varient considérablement. Pour configurer un endpoint VPC, privilégiez la Méthode 1 en spécifiant explicitement l'endpoint plutôt que de tenter de le construire à partir d'un ID de région.
Les exemples présentés dans cette rubrique utilisent le langage Java.
Méthode 1 : Spécifier un endpoint (recommandée)
Indiquez l'endpoint lors de l'initialisation de l'objet client d'un service cloud. Cette méthode fonctionne aussi bien avec les endpoints publics qu'avec les endpoints VPC.
L'extrait de code suivant illustre uniquement la configuration liée à l'endpoint :
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
// Set the endpoint.
config.setEndpoint("<ENDPOINT>");
Méthode 2 : Spécifier un ID de région
Si vous ne définissez pas d'endpoint manuellement, spécifiez un ID de région lors de l'initialisation de l'objet client d'un service cloud. Le SDK résoudra alors automatiquement l'endpoint correspondant. Pour configurer un endpoint VPC, utilisez plutôt la Méthode 1.
La plupart des SDK de services cloud définissent une variable endpointMap qui associe les IDs de région aux endpoints. Par exemple, la variable endpointMap du SDK ECS contient des entrées telles que les suivantes :
{
"cn-zhangjiakou-na62-a01": "ecs.cn-zhangjiakou.aliyuncs.com",
"cn-huhehaote-nebula-1": "ecs.cn-qingdao-nebula.aliyuncs.com",
"rus-west-1-pop": "ecs.aliyuncs.com",
...
}
Le SDK résout l'endpoint selon l'ordre de priorité suivant :
S'il n'existe aucune variable
endpointMap, le SDK construit l'endpoint en appliquant les règles de construction.Si la variable
endpointMapexiste et contient l'ID de région spécifié, l'endpoint correspond à la valeur associée à cet ID de région.Si la variable
endpointMapne contient pas l'ID de région spécifié, le SDK construit l'endpoint selon les règles de construction décrites ci-dessous :
Services régionalisés :
<PRODUCT_CODE><SUFFIX><NET_WORK>.<REGION_ID>.aliyuncs.comServices centralisés :
<PRODUCT_CODE><SUFFIX><NET_WORK>.aliyuncs.comLe type de déploiement et le paramètre<PRODUCT_CODE>sont déterminés par le SDK du service cloud utilisé. Spécifiez les trois autres paramètres en fonction de votre scénario :
<SUFFIX>: suffixe présent dans un endpoint VPC. Indiquez ce paramètre en vous basant sur le suffixe de l'endpoint VPC du service cloud concerné. N'ajoutez pas de trait d'union (-).-
<NET_WORK>: type d'endpoint. Un endpoint public est utilisé par défaut. Valeurs possibles :vpc: obtient l'endpoint VPC du service.intranet: lorsque vous utilisez le SDK Simple Log Service (sls20201230), obtient l'endpoint VPC de Simple Log Service.accelerate: lorsque vous utilisez le SDK Simple Log Service (sls20201230), obtient l'endpoint d'accélération de transfert de Simple Log Service.
<REGION_ID>: région où réside la ressource. L'extrait de code suivant illustre uniquement la configuration liée à l'endpoint :
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
// Specify the region ID.
config.setRegionId("<REGION_ID>");
config.setNetwork("<NET_WORK>"); // You do not need to set this parameter for a public endpoint. For a VPC endpoint, set it to vpc.
config.setSuffix("<SUFFIX>"); // You do not need to set this parameter for a public endpoint. For a VPC endpoint, specify it based on the suffix in the VPC endpoint of the cloud service and do not add a hyphen (-).
Annexe : Trouver un endpoint
Vous pouvez identifier l'endpoint d'un service cloud via le portail OpenAPI :
Dans le menu supérieur du portail, choisissez Products puis sélectionnez un produit, tel que ECS.
Sur la page d'accueil du produit, repérez la liste des régions de service.
Sélectionnez l'endpoint correspondant à votre ID de région, puis copiez-collez-le. Vous pouvez également accéder à la page API debugging, cliquer sur Regions dans le volet de navigation de gauche pour consulter les endpoints pris en charge par le service cloud.