获取OpenAPI SDK

更新时间:

本文介绍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