使用SDK与云网管的服务器端进行交互时需要指定一些基本配置,本文介绍SDK的基本配置信息。
目前,所有语言的SDK都定义了一个Client类作为入口类,这些基本配置信息在该入口类的构造时指定。
具体包括如下几项:
服务入口(Endpoint):确认Client需要访问的服务入口。
阿里云访问密钥(AccessKey ID,AccessKey secret):指定Client访问云网管时使用的访问密钥。
下面详细说明这两个配置的使用方式。
服务入口(Endpoint)
当使用SDK时,首先需要明确访问的云网管所在地域,例如华东1(杭州)等,然后选择与其匹配的云网管入口初始化Client。该服务入口与API中的服务入口定义一致。
当选择Client的Endpoint时,必须要保证您需要访问的地域和Endpoint对应的地域一致,否则SDK将无法访问您指定的地域。
由于Client实例只能在构造时指定该服务入口,如果需要访问不同的地域,则需要用不同的Endpoint构建不同的Client实例。
目前,所有API的服务入口支持HTTPS协议。
如果在阿里云ECS虚拟机内使用SDK,您还可以使用内网Endpoint来避免公网带宽开销。
访问密钥(AccessKey)
所有和云网管端交互的请求都必须经过安全验证,而访问密钥就是用来对请求进行安全验证的关键因子,且以AccessKey ID和AccessKey secret方式成对出现。在Client构造时需要指定两个参数:访问密钥对(AccessKey ID,AccessKey secret)。所以,在使用SDK前,请在阿里云控制台密钥管理页面获取(或者创建)合适的密钥对。
您的账号下可以拥有多组访问密钥对,但在构造Client时指定的AccessKey ID和AccessKey secret必须成对,否则无法通过服务端的安全验证。
指定的访问密钥对必须处于启用状态,否则会被服务端拒绝请求。同样,您也可以到云控制台查看访问密钥的状态。
示例
如果您需要访问某个地域的云网管,且当前已经拥有一对处于启用状态的访问密钥对。如下所示:
AccessKeyId = "ywgiwfns**************"
AccessKeySecret = "4fdO2fTDDnZPU/*************"
则可以使用如下实例化对应的Client:
java
Config authConfig = new Config();
/**
* 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
* 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
* 调用接口前请先配置身份认证,具体操作请参见https://help.aliyun.com/document_detail/378657.html。
* 本示例使用了阿里云Credentials工具托管AccessKey,来实现API访问的身份验证。
*/
com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
authConfig.endpoint = "region_endpoint"; //在实际使用中,请按照您实际的服务入口和接入方式编写。
authConfig.regionId = "cn-hangzhou"; //在实际使用中,请按照您实际的服务地域编写。
authConfig.setCredential(credentialClient);
Client authClient = new Client(authConfig);