日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Java SDK調用示例

本文以調用提交域名注冊任務為例,為您介紹SDK的安裝方式和使用。

前提條件

  1. 由于阿里云賬號(主賬號)擁有資源的所有權限,其AccessKey一旦泄露風險巨大,所以建議您使用RAM用戶的AccessKey。獲取方法請參見創建AccessKey

  2. 給RAM用戶授予操作域名資源的權限。本示例選擇AliyunDomainFullAccess系統策略。

    1. 使用系統策略。

      • AliyunDomainFullAccess:管理域名服務的權限。

      • AliyunDomainReadonlyAccess:域名注冊管控只讀權限。

    2. 使用自定義權限。

      關于如何創建自定義權限,請參見創建自定義權限策略授權信息

  3. 在環境變量中配置AccessKey,具體操作步驟請參見在Linux、macOS和Windows系統配置環境變量

安裝SDK

  1. 在Maven的配置文件中添加Maven倉庫。

    <repositories>
         <repository>
             <id>sonatype-nexus-staging</id>
             <name>Sonatype Nexus Staging</name>
             <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
             <releases>
                 <enabled>true</enabled>
             </releases>
             <snapshots>
                 <enabled>true</enabled>
             </snapshots>
         </repository>
    </repositories>
  2. 打開Maven項目的pom.xml文件,在<dependencies>節點中加入依賴配置,并刷新Maven配置。

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>domain20180129</artifactId>
      <version>3.15.1</version>
    </dependency>
    

使用SDK

1. 初始化客戶端

阿里云SDK支持多種訪問憑據用于初始化客戶端,例如AccessKey和STS Token等,更多方式請參見管理訪問憑據。本示例以通過AccessKey初始化客戶端為例。

import com.aliyun.domain20180129.Client;
import com.aliyun.teaopenapi.models.Config;

public class Sample {
    private static Client createClient() throws Exception {
        Config config = new 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/Domain
                .setEndpoint("domain.aliyuncs.com");
        return new Client(config);
    }
}

2. 構建接口的請求對象

在構建請求對象之前,請在API參考中找到將要調用的接口,查看該接口的參數信息。

說明

請求對象命名規則:{API名稱}Request,例如SaveSingleTaskForCreatingOrderActivate該接口的請求對象為SaveSingleTaskForCreatingOrderActivateRequest。

SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
                .setDomainName("example.com");

3. 發起調用

說明

接口返回對象命名規則:{API名稱}Response,例如SaveSingleTaskForCreatingOrderActivate該接口的返回對象為SaveSingleTaskForCreatingOrderActivateResponse。

// 設置運行時參數
RuntimeOptions runtime = new RuntimeOptions();
SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);

4. 異常處理

Java SDK將異常分為TeaUnretryableException和TeaException。

  • TeaUnretryableException:主要是因為網絡問題造成,一般是網絡問題達到最大重試次數后拋出。

  • TeaException:主要以業務報錯為主的異常。

    重要

    示例中僅做打印展示。請重視異常處理,切勿在項目中直接忽略異常。建議采取合理的措施來處理異常,比如合理地傳播異常、記錄日志、嘗試恢復等,以確保系統的健壯性和穩定性。

try {
    Client client = createClient();
    SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
            .setDomainName("example.com");
    // 設置運行時參數
    RuntimeOptions runtime = new RuntimeOptions();
    SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
} catch (TeaUnretryableException ue) {
    // 此處僅做打印展示,請謹慎對待異常處理,在工程項目中切勿直接忽略異常。
    ue.printStackTrace();
    // 打印錯誤信息
    System.out.println(ue.getMessage());
    // 打印請求記錄,查詢錯誤發生時的請求信息
    System.out.println(ue.getLastRequest());
} catch (TeaException e) {
    // 此處僅做打印展示,請謹慎對待異常處理,在工程項目中切勿直接忽略異常。
    e.printStackTrace();
    // 打印錯誤碼
    System.out.println(e.getCode());
    // 打印錯誤信息,錯誤信息中包含 RequestId
    System.out.println(e.getMessage());
    // 打印服務端返回的具體錯誤內容
    System.out.println(e.getData());
} catch (Exception e) {
    // 此處僅做打印展示,請謹慎對待異常處理,在工程項目中切勿直接忽略異常。
    e.printStackTrace();
}

5. 完整示例

import com.aliyun.domain20180129.Client;
import com.aliyun.domain20180129.models.SaveSingleTaskForCreatingOrderActivateRequest;
import com.aliyun.domain20180129.models.SaveSingleTaskForCreatingOrderActivateResponse;
import com.aliyun.tea.TeaException;
import com.aliyun.tea.TeaUnretryableException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

public class Sample {
    private static Client createClient() throws Exception {
        Config config = new 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/Domain
                .setEndpoint("domain.aliyuncs.com");
        return new Client(config);
    }

    public static void main(String[] args_) {
        try {
            Client client = createClient();
            SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
                    .setDomainName("example.com");
            // 設置運行時參數
            RuntimeOptions runtime = new RuntimeOptions();
            SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
        } catch (TeaUnretryableException ue) {
            // 此處僅做打印展示,請謹慎對待異常處理,在工程項目中切勿直接忽略異常。
            ue.printStackTrace();
            // 打印錯誤信息
            System.out.println(ue.getMessage());
            // 打印請求記錄
            System.out.println(ue.getLastRequest());
        } catch (TeaException e) {
            // 此處僅做打印展示,請謹慎對待異常處理,在工程項目中切勿直接忽略異常。
            e.printStackTrace();
            // 打印錯誤碼
            System.out.println(e.getCode());
            // 打印錯誤信息,錯誤信息中包含 RequestId
            System.out.println(e.getMessage());
            // 打印服務端返回的具體錯誤內容
            System.out.println(e.getData());
        } catch (Exception e) {
            // 此處僅做打印展示,請謹慎對待異常處理,在工程項目中切勿直接忽略異常。
            e.printStackTrace();
        }
    }
}