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

Endpoint配置

更新時間:
重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

本文為您介紹V1.0 SDK如何設置Endpoint。

Endpoint是請求接口服務的網絡域名,如ecs.cn-hangzhou.aliyuncs.com,V1.0 SDK提供了四種Endpoint的尋址方式。下面按優先級排列的方式,為您詳細介紹尋址流程。

Endpoint尋址流程

  1. 用戶自定義Endpoint

    它是優先級最高的尋址邏輯,用戶可以直接指定endpoint的具體內容。

    1. 只對當前Request請求生效,優先級最高。

      import com.aliyuncs.DefaultAcsClient;
      import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
      import com.aliyuncs.ecs.model.v20140526.DescribeRegionsRequest;
      import com.aliyuncs.exceptions.ClientException;
      import com.aliyuncs.http.HttpResponse;
      import com.aliyuncs.profile.DefaultProfile;
      
      public class Sample {
          public static void main(String[] args) throws ClientException {
              // 從環境變量中獲取阿里云訪問憑證,確保已設置環境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
              EnvironmentVariableCredentialsProvider credentialsProvider = new EnvironmentVariableCredentialsProvider();
              DefaultProfile profile = DefaultProfile.getProfile();
              // 通過 SDK Core 初始化 client
              DefaultAcsClient client = new DefaultAcsClient(profile, credentialsProvider);
      
              DescribeRegionsRequest request = new DescribeRegionsRequest();
              // 只對當前 Request 生效
              request.setSysEndpoint("ecs.cn-shanghai.aliyuncs.com");
      
              HttpResponse httpResponse = client.doAction(request);
              System.out.println(httpResponse.getHttpContentString());
          }
      }
    2. 全局生效,支持添加多個endpoint。

      import com.aliyuncs.DefaultAcsClient;
      import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
      import com.aliyuncs.ecs.model.v20140526.DescribeRegionsRequest;
      import com.aliyuncs.exceptions.ClientException;
      import com.aliyuncs.http.HttpResponse;
      import com.aliyuncs.profile.DefaultProfile;
      
      public class Sample {
          public static void main(String[] args) throws ClientException {
              // 從環境變量中獲取阿里云訪問憑證,確保已設置環境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
              EnvironmentVariableCredentialsProvider credentialsProvider = new EnvironmentVariableCredentialsProvider();
              String regionId = "cn-hangzhou";
              DefaultProfile profile = DefaultProfile.getProfile(regionId);
              // 全局生效
              DefaultProfile.addEndpoint("cn-hangzhou", "ecs", "ecs.cn-hangzhou.aliyuncs.com");
              DefaultProfile.addEndpoint("cn-shanghai", "ecs", "ecs.cn-shanghai.aliyuncs.com");
              // 通過 SDK Core 初始化 client
              DefaultAcsClient client = new DefaultAcsClient(profile, credentialsProvider);
      
              DescribeRegionsRequest request = new DescribeRegionsRequest();
              HttpResponse httpResponse = client.doAction(request);
              System.out.println(httpResponse.getHttpContentString());
          }
      }
  2. 云產品SDK尋址

    若用戶未設置自定義Endpoint,會校驗云產品SDK中是否存在Endpoint文件,Endpoint文件示例Ecs Endpoint Data File。如果存在,尋址邏輯如下:

    1. 若productNetwork(云產品網絡)的值是public,且Endpoint文件中包含傳入的regionId時,則會根據regionId在云產品SDK的Endpoint中自動尋址。

    2. 若productNetwork的值非public,或者Endpoint文件不存在傳入的regionId時,則會根據規則自動拼接endpoint。

    如果不存在,則進行Core SDK尋址

    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
    import com.aliyuncs.ecs.model.v20140526.DescribeRegionsRequest;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.http.HttpResponse;
    import com.aliyuncs.profile.DefaultProfile;
    
    public class Sample {
    
        public static void main(String[] args) throws ClientException {
            // 從環境變量中獲取阿里云訪問憑證,確保已設置環境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
            EnvironmentVariableCredentialsProvider credentialsProvider = new EnvironmentVariableCredentialsProvider();
            // 設置阿里云區域ID,此處以“cn-shanghai”為例。
            String regionId = "cn-shanghai";
            // 初始化阿里云配置profile,用于創建客戶端。
            DefaultProfile profile = DefaultProfile.getProfile(regionId);
            // 使用profile和訪問憑證創建DefaultAcsClient實例,用于發送請求。
            DefaultAcsClient client = new DefaultAcsClient(profile, credentialsProvider);
            // 請求參數
            DescribeRegionsRequest request = new DescribeRegionsRequest();
    
            // 產品網絡訪問方式,productNetwork的默認值為 public(公網請求)。
            // 還可設置的值share(跨域請求)、ipv6(Ipv6 請求)、proxy(代理請求)、inner(內部請求)、dualstack(Ipv4/Ipv6 雙協議棧)、vpc(vpc網絡)
            request.productNetwork = "public";
    //        // 針對于vpc網絡,還可以通過啟用enableUsingVpcEndpoint配置
    //        profile.enableUsingVpcEndpoint();
    
            HttpResponse httpResponse = client.doAction(request);
            System.out.println(httpResponse.getHttpContentString());
        }
    }
    
  3. Core SDK尋址

    若云產品SDK中不存在Endpoint文件時,根據regionId在SDK Core中的endpoints.json數據文件進行尋址。Core SDK尋址邏輯:優先從數據文件中云產品的Endpoint中尋址,如果沒有匹配到符合的endpoint,則會繼續根據云產品的productCode在global endpoints中尋址。

  4. 調用Location服務尋址

    若通過Core SDK還未尋址成功,則會通過云產品的serviceCode和regionId調用Location服務接口獲取endpoint。

    serviceCode:已在您要調用的接口的Request對象中默認設置,不需要手動設置。

    regionId:初始化客戶端時傳入的regionId。

警告

不是所有的云產品都支持該尋址模式,建議使用自定義的方式。