本文介绍ACM OpenAPI的SDK获取方法、调用示例以及地域和接入点的设置。

说明 此OpenAPI的SDK主要用于对应用配置进行管理,如您需要在应用运行时操作和监听配置,可考虑使用SDK简介

前提条件

在安装和使用Alibaba Cloud SDK for Java前,确保您已经:
  • 安装Java环境。

    Alibaba Cloud SDK for Java要求使用JDK1.6或更高版本。

  • 注册阿里云账号并生成访问密钥(AccessKey)。

    详情参考创建AccessKey

安装Alibaba Cloud SDK for Java

您可以通过以下两种方式获取Alibaba Cloud SDK for Java。
  • 通过Maven直接安装(推荐):打开Maven项目下的pom.xml文件,添加aliyun-java-sdk-core和aliyun-java-sdk-acm依赖。
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.4.9</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-acm</artifactId>
        <version>1.0.1</version>
    </dependency>
  • 在集成开发环境中导入JAR文件:无论您使用Eclipse还是IntelliJ作为集成开发环境,都可以通过导入JAR文件的方式安装Alibaba Cloud SDK for Java。您可在阿里云开发工具包(SDK)中下载ACM的SDK文件。

使用Java SDK调用API

以下代码展示了如何调用ACM的管控API。在实际使用时,请将示例中的accessKey、secretKey、regionId等参数的值替换为您实际的参数值。

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.acm.model.v20200206.DescribeConfigurationRequest;
import com.aliyuncs.acm.model.v20200206.DescribeConfigurationResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.http.ProtocolType;

public class GetConfigurationExample {
    public static void main(String[] args) {
        String accessKey = <yourAccessKeyId>;//阿里云主账号或子账号的 AccessKey ID。
        String secretKey = <yourAccessKeySecret>;//阿里云主账号或子账号的 AccessKey Secret。
        String regionId = "cn-hangzhou";//要执行 API 调用的应用所在地域 ID。
        String dataId = <yourDataId>;//配置项DataId值
        String group = <yourGroup>;//配置项所在分组
        String namespaceId = <yourNamespace>;//配置项所在命名空间

        DefaultProfile defaultProfile = DefaultProfile.getProfile(regionId, accessKey, secretKey);
        DefaultAcsClient defaultAcsClient = new DefaultAcsClient(defaultProfile);

        DescribeConfigurationRequest request = new DescribeConfigurationRequest();
        request.setSysProtocol(ProtocolType.HTTPS);//使用HTTPS协议(公网region暂不支持)
        request.setNamespaceId(namespaceId);
        request.setGroup(group);
        request.setDataId(dataId);

        try {
            DescribeConfigurationResponse response = defaultAcsClient.getAcsResponse(request);
            System.out.println("配置项内容为:" + response.getConfiguration().getContent());
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

地域和接入点列表

ACM API支持的地域,以及对应的regionId和domain如下表所示。

地域名称 regionId domain 内网domain
公网 public acm.public.aliyuncs.com
华东 1(杭州) cn-hangzhou acm.cn-hangzhou.aliyuncs.com acm-vpc.cn-hangzhou.aliyuncs.com
华东 2(上海) cn-shanghai acm.cn-shanghai.aliyuncs.com acm-vpc.cn-shanghai.aliyuncs.com
华北 1(青岛) cn-qingdao acm.cn-qingdao.aliyuncs.com acm-vpc.cn-qingdao.aliyuncs.com
华北 2(北京) cn-beijing acm.cn-beijing.aliyuncs.com acm-vpc.cn-beijing.aliyuncs.com
华北 3(张家口) cn-zhangjiakou acm.cn-zhangjiakou.aliyuncs.com acm-vpc.cn-zhangjiakou.aliyuncs.com
华南 1(深圳) cn-shenzhen acm.cn-shenzhen.aliyuncs.com acm-vpc.cn-shenzhen.aliyuncs.com
中国(香港) cn-hongkong acm.cn-hongkong.aliyuncs.com acm-vpc.cn-hongkong.aliyuncs.com
新加坡(新加坡) ap-southeast-1 acm.ap-southeast-1.aliyuncs.com acm-vpc.ap-southeast-1.aliyuncs.com
德国(法兰克福) eu-central-1 acm.eu-central-1.aliyuncs.com acm-vpc.eu-central-1.aliyuncs.com
日本(东京) ap-northeast-1 acm.ap-northeast-1.aliyuncs.com acm-vpc.ap-northeast-1.aliyuncs.com
美国(硅谷) us-west-1 acm.us-west-1.aliyuncs.com acm-vpc.us-west-1.aliyuncs.com
美国(弗吉尼亚) us-east-1 acm.us-east-1.aliyuncs.com acm-vpc.us-east-1.aliyuncs.com
澳大利亚(悉尼) ap-southeast-2 acm.ap-southeast-2.aliyuncs.com acm-vpc.ap-southeast-2.aliyuncs.com