本文介绍如何使用阿里云Java语言SDK开发包,查询您账号下通过CDN加速的域名。
步骤一:查看OpenAPI文档
在调用OpenAPI前,建议您先阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览。
步骤二:创建RAM用户并完成授权
阿里云账号拥有所有API的访问权限,建议您创建并使用RAM用户进行API访问或日常运维。
如您已创建RAM用户且已完成授权,可跳过此步骤。
使用阿里云账号登录RAM控制台。
创建RAM用户。
在左侧导航栏,选择。
在用户页面,单击创建用户。
在创建用户页面,设置登录名称和显示名称,设置访问方式为控制台访问和使用永久 AccessKey 访问,单击确定。
重要RAM用户的AccessKey Secret只在创建时显示,不支持查看,请下载CSV文件后妥善保管。
创建RAM用户成功后,请记录用户登录名称和密码。在调用OpenAPI时,需要使用该RAM用户登录阿里云OpenAPI开发者门户,并使用该RAM用户的AccessKey进行代码调试。
为RAM用户授权。
说明创建RAM用户后,该RAM用户无任何操作CDN的权限。您需要为该RAM用户授予系统策略(AliyunCDNFullAccess、AliyunCDNReadOnlyAccess)或自定义策略。本案例以授予RAM用户AliyunCDNReadOnlyAccess策略为例,AliyunCDNReadOnlyAccess策略具备CDN资源的只读权限。
在用户页面,单击目标RAM用户对应的添加权限。
在新增授权面板,在系统策略中搜索选中AliyunCDNReadOnlyAccess,然后单击确认新增授权。
确认授权结果,单击关闭。
步骤三:调用OpenAPI
使用RAM用户登录阿里云OpenAPI门户。
选择云产品为内容分发。
在顶部菜单栏,选择工具中心>在线调试。
在左侧导航栏,找到并单击DescribeUserDomains接口,服务地址选择华东1(杭州),DomainName参数输入要查询的域名,如果不输入会显示此账号下所有的域名。
单击发起调用。
在调用结果区域,您可以看到查询结果、Request Header、Response Header等信息,状态码200表示调用成功。
步骤四:获取SDK示例代码
OpenAPI平台提供了多种编程语言(Java、Go、Python、Node.js、TypeScript、PHP、C++ 等)的SDK。开发者只需要集成SDK,通过SDK暴露的方法直接调用OpenAPI 。SDK统一封装了签名逻辑、超时机制、重试机制,并根据文档返回结构化 Response 对象,易于开发。
以获取Java SDK示例代码为例,其他语言获取方式相同。
在SDK示例页签,选择SDK版本和SDK语言。推荐使用V2.0版本。关于V2.0和V1.0的区别,请参见V1.0 SDK和V2.0 SDK区别。
单击下载完整工程可以下载完整的SDK工程。下载完后完成解压
说明在SDK示例显示区域的右上角,单击
图标可以复制SDK示例代码。单击SDK信息,可以获取SDK包名称、SDK包版本、SDK包管理平台、SDK安装命令等基础信息,便于您集成开发。
步骤五:运行SDK示例代码
以运行Java SDK示例代码为例。
打开IntelliJ IDEA,单击File->Open,选择解压后的工程文件夹,等待Maven自动安装依赖信息。
在调用之前,需要先获取访问凭证AccessKey,建议使用前面创建的RAM用户AccessKey。更多信息,请参见创建RAM用户的AccessKey。
重要获取RAM用户的AccessKey之后,还需要在环境变量中设置AccessKey,具体操作步骤请参见在Linux、macOS和Windows系统配置环境变量。
运行示例代码。
双击打开Sample,确认无报错后,运行代码。
// This file is auto-generated, don't edit it. Thanks. package com.aliyun.sample; import com.aliyun.tea.*; public class Sample { /** * <b>description</b> : * <p>使用AK&SK初始化账号Client</p> * @return Client * * @throws Exception */ public static com.aliyun.cdn20180510.Client createClient() throws Exception { // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。 // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。 com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); // Endpoint 请参考 https://api.aliyun.com/product/Cdn config.endpoint = "cdn.aliyuncs.com"; return new com.aliyun.cdn20180510.Client(config); } public static void main(String[] args_) throws Exception { java.util.List<String> args = java.util.Arrays.asList(args_); com.aliyun.cdn20180510.Client client = Sample.createClient(); com.aliyun.cdn20180510.models.DescribeUserDomainsRequest describeUserDomainsRequest = new com.aliyun.cdn20180510.models.DescribeUserDomainsRequest() .setDomainName("clxxxop"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); try { com.aliyun.cdn20180510.models.DescribeUserDomainsResponse resp = client.describeUserDomainsWithOptions(describeUserDomainsRequest, runtime); com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(resp)); } catch (TeaException error) { // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 // 错误 message System.out.println(error.getMessage()); // 诊断地址 System.out.println(error.getData().get("Recommend")); } } }查看运行结果。在底部控制台按下
ctrl+f,搜索statusCode,如果看到"statusCode":200表示调用成功。63a1fa3437fb64293addba0"},"statusCode":200,"body":{"backupPlans":{"backupPlan":[{"backupSourceGroupId":"","backupType":"COMPLETE","createdTime":1716258117,"crossAccountType":"SELF_ACCOUNT","crossAccountUserId":0,"disabled":fal