すべてのプロダクト
Search
ドキュメントセンター

Data Online Migration:データアドレス

最終更新日:Dec 12, 2025

このトピックでは、Java 用 Data Online Migration SDK を使用してデータアドレスを管理する方法について説明します。

データアドレスの作成

次のサンプルコードは、OSS タイプのデータアドレスを作成する方法を示しています。

重要
  • OSS タイプのデータアドレスを作成する前に、ロール を設定し、ロール名を取得する必要があります。

  • エージェントを関連付ける必要があるかどうかは、状況によって異なります。 詳細については、「エージェントを使用した移行 - 概要」をご参照ください。 他のデータアドレスにエージェントを関連付ける方法は、この例と同じです。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
	/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
	static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
	static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
	/** Alibaba Cloud アカウントの ID を指定します。*/
	static String userId = "11470***876***55";

	public static void main(String[] args) {
		// データアドレスの名前を指定します。
		String addressName = "exampleaddress";
		try {
			com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
			// この例では、中国 (北京) リージョンを使用します。
			config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
			config.setAccessKeyId(accessKeyId);
			config.setAccessKeySecret(accessKeySecret);
			// HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
                        config.setProtocol("http");
			Client client = new Client(config);
			AddressDetail detail = new AddressDetail();
			detail.addressType = "oss";
			// 次のパラメーターを実際の値に設定します。
			detail.bucket = "examplebucket";
			detail.prefix = "***/";
			detail.regionId = "oss-cn-beijing";
			detail.role = "rolename_xxxxx";
			// エージェントのリスト。エージェントを関連付ける必要がない場合は、このパラメーターを指定しないでください。
			detail.agentList = "agent1,agent2,agent3";
			CreateAddressRequest request = new CreateAddressRequest();
			CreateAddressInfo info = new CreateAddressInfo();
			info.name = addressName;
			info.setAddressDetail(detail);
			request.setImportAddress(info);
			client.createAddress(userId, request);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

次のサンプルコードは、OSS インベントリタイプのデータアドレスを作成する方法を示しています。

重要

OSS インベントリタイプのデータアドレスを作成する前に、ロール を設定し、ロール名と invrolename を取得する必要があります。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "ossinv";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         detail.regionId = "oss-cn-beijing";
         detail.role = "rolename_*******";
         // 以下のパラメーターはインベントリに関連します。
         detail.invLocation = "oss";
         detail.invAccessId = "***";
         detail.invAccessSecret = "******";
         detail.invBucket = "exampleinvbucket";
         detail.invRegionId = "oss-cn-beijing";
         detail.invRole = "invrolename_*******";
         detail.invPath = "dir/manifest.json";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

次のサンプルコードは、汎用インベントリデータアドレスを作成する方法を示しています。

重要

インベントリデータアドレスを作成する前に、ロールを設定し、ロール名とインベントリロール名を取得する必要があります。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "inv";
         // addressType を inv に設定した場合、dataType の有効な値は oss、s3、cos、obs、tos、qiniu、gcp、azure、ks3、bos、us3、uss です。
         detail.dataType = "oss";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         detail.regionId = "oss-cn-beijing";
         detail.role = "rolename_*******";
         // 以下のパラメーターはインベントリに関連します。
         detail.invLocation = "oss";
         detail.invAccessId = "***";
         detail.invAccessSecret = "******";
         detail.invBucket = "exampleinvbucket";
         detail.invRegionId = "oss-cn-beijing";
         detail.invRole = "invrolename_*******";
         detail.invPath = "dir/manifest.json";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

次のサンプルコードは、サードパーティソースタイプのデータアドレスを作成する方法を示しています。

s3

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "s3";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "s3.ap-southeast-1.amazonaws.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

cos

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "cos";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "cos.ap-nanjing.myqcloud.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

obs

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "obs";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "obs.cn-north-1.myhuaweicloud.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

tos

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "tos";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "tos-s3-cn-beijing.volces.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

qiniu

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "qiniu";
         detail.accessId = "***";
         detail.accessSecret = "******";
         // ドメイン名の詳細については、https://developer.qiniu.com/kodo/8527/kodo-domain-name-management をご参照ください。
         detail.domain = "http://xxxx.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

gcp

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "gcp";
         detail.accessId = "***";
         detail.accessSecret = "******";
         // domain パラメーターを実際の値に設定します。
         detail.domain = "Cloud Storage URI";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

azure

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "azure";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "https://<storage account>.blob.core.windows.net";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

ks3

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "ks3";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "ks3-cn-beijing.ksyuncs.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

bos

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "bos";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "bj.bcebos.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

UCloud S3

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "us3";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "cn-bj.ufileos.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

youpai

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         AddressDetail detail = new AddressDetail();
         // 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
         detail.addressType = "uss";
         detail.accessId = "***";
         detail.accessSecret = "******";
         detail.domain = "s3.api.upyun.com";
         detail.bucket = "examplebucket";
         detail.prefix = "***/";
         CreateAddressRequest request = new CreateAddressRequest();
         CreateAddressInfo info = new CreateAddressInfo();
         info.name = addressName;
         info.setAddressDetail(detail);
         request.setImportAddress(info);
         client.createAddress(userId, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

次のサンプルコードは、HTTP タイプのデータアドレスを作成する方法を示しています。

重要

HTTP タイプのデータアドレスを作成する前に、ロール を設定し、invrolename を取得する必要があります。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
	/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
	static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
	static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
	/** Alibaba Cloud アカウントの ID を指定します。*/
	static String userId = "11470***876***55";

	public static void main(String[] args) {
		// データアドレスの名前を指定します。
		String addressName = "exampleaddress";
		try {
			com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
			// この例では、中国 (北京) リージョンを使用します。
			config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
			config.setAccessKeyId(accessKeyId);
			config.setAccessKeySecret(accessKeySecret);
			// HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
                        config.setProtocol("http");
			Client client = new Client(config);
			AddressDetail detail = new AddressDetail();
			// 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
			detail.addressType = "http";
			detail.invLocation = "oss";
			detail.invBucket = "exampleinvbucket";
			detail.invDomain = "oss-cn-beijing.aliyuncs.com";
			detail.invRole = "invrolename_*******";
			detail.invPath = "dir/manifest.json";
			CreateAddressRequest request = new CreateAddressRequest();
			CreateAddressInfo info = new CreateAddressInfo();
			info.name = addressName;
			info.setAddressDetail(detail);
			request.setImportAddress(info);
			client.createAddress(userId, request);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

次のサンプルコードは、LocalFS タイプのデータアドレスを作成する方法を示しています。 このタイプは、エージェントに関連付ける必要があります。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.AddressDetail;
import com.aliyun.hcs_mgw20240626.models.CreateAddressInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAddressRequest;

public class Demo {
	/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
	static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
	static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
	/** Alibaba Cloud アカウントの ID を指定します。*/
	static String userId = "11470***876***55";

	public static void main(String[] args) {
		// データアドレスの名前を指定します。
		String addressName = "exampleaddress";
		try {
			com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
			// この例では、中国 (北京) リージョンを使用します。
			config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
			config.setAccessKeyId(accessKeyId);
			config.setAccessKeySecret(accessKeySecret);
			// HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
                        config.setProtocol("http");
			Client client = new Client(config);
			AddressDetail detail = new AddressDetail();
			// 以下のパラメーターは移行対象のデータに関連します。実際の値に設定してください。
			detail.addressType = "local";
			detail.prefix = "/***/";
			// エージェントのリスト。
			detail.agentList = "agent1,agent2,agent3"
			CreateAddressRequest request = new CreateAddressRequest();
			CreateAddressInfo info = new CreateAddressInfo();
			info.name = addressName;
			info.setAddressDetail(detail);
			request.setImportAddress(info);
			client.createAddress(userId, request);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

データアドレスの詳細のクエリ

次のサンプルコードは、データアドレスの詳細をクエリする方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.GetAddressResponse;
import com.google.gson.Gson;

public class Demo {
	/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
	static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
	static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
	/** Alibaba Cloud アカウントの ID を指定します。*/
	static String userId = "11470***876***55";

	public static void main(String[] args) {
		// データアドレスの名前を指定します。
		String addressName = "exampleaddress";
		try {
			com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
			// この例では、中国 (北京) リージョンを使用します。
			config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
			config.setAccessKeyId(accessKeyId);
			config.setAccessKeySecret(accessKeySecret);
			// HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
                        config.setProtocol("http");
			Client client = new Client(config);
			GetAddressResponse resp = client.getAddress(userId, addressName);
			System.out.println(new Gson().toJson(resp.getBody().getImportAddress()));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

成功応答の例:

{
  "ImportAddress": {
    "Owner": "test_owner",
    "Name": "test_name",
    "AddressDetail": {
      "AddressType": "ossinv",
      "Bucket": "test_bucket",
      "Domain": "test_domain",
      "Prefix": "test_prefix",
      "AccessId": "test_access_id",
      "AccessSecret": "test_secret_key",
      "Role": "test_role",
      "InvDomain": "test_inv_domain",
      "InvBucket": "test_inv_bucket",
      "InvAccessId": "test_inv_access_id",
      "InvAccessSecret": "test_inv_secret_key",
      "InvPath": "manifest.json",
      "InvRole": "test_inv_role",
      "InvLocation": "oss",
      "AgentList": "agent1,agent2",
      "RegionId": "test_region_id",
      "InvRegionId": "test_inv_region_id"
    },
    "CreateTime": "2024-05-01T12:00:00.000Z",
    "ModifyTime": "2024-05-01T12:00:00.000Z",
    "VerifyTime": "2024-05-01T12:00:00.000Z",
    "Version": "test_id",
    "Tags": "K1:V1,K2:V2",
    "Status": "available",
    "VerifyResult": {
      "HttpCode": "400",
      "ErrorCode": "InvalidArgument",
      "ErrorMsg": "Invalid argument."
    }
  }
}

データアドレスの検証

次のサンプルコードは、データアドレスの可用性を検証する方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.VerifyAddressResponse;
import com.google.gson.Gson;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         VerifyAddressResponse resp = client.verifyAddress(userId, addressName);
         // status フィールドが available に設定されている場合にのみ、データアドレスは有効です。それ以外の値は、データアドレスが無効であることを示します。
         System.out.println(new Gson().toJson(resp.getBody().verifyAddressResponse.status));
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

有効なデータアドレスの成功応答の例:

{
  "VerifyAddressResponse": {
    "Status": "available",
    "VerifyTime": "2024-05-01T12:00:00.000Z",
    "ErrorCode": "",
    "ErrorMessage": ""
  }
}

使用できないデフォルトの戻り先アドレスの例

{
  "VerifyAddressResponse": {
    "Status": "unavailable",
    "VerifyTime": "2024-05-01T12:00:00.000Z",
    "ErrorCode": "400",
    "ErrorMessage": "Invalid argument."
  }
}

データアドレスの一覧表示

次のサンプルコードは、Alibaba Cloud アカウント内のすべてのデータアドレスを一覧表示する方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.ListAddressRequest;
import com.aliyun.hcs_mgw20240626.models.ListAddressResponse;
import com.google.gson.Gson;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         ListAddressRequest request = new ListAddressRequest();
         // marker と count を実際の値に設定します。
         String marker = "";
         int count = 1;
         request.setMarker(marker);
         request.setCount(count);
         ListAddressResponse resp = client.listAddress(userId, request);
         System.out.println(new Gson().toJson(resp.getBody().getImportAddressList()));
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

成功応答の例:

{
  "ImportAddressList": {
    "Truncated": true,
    "NextMarker": "test_marker",
    "ImportAddress": [
      {
        "Owner": "test_owner",
        "Name": "test_name",
        "AddressDetail": {
          "AddressType": "ossinv",
          "Bucket": "test_bucket",
          "Domain": "test_domain",
          "Prefix": "test_prefix",
          "AccessId": "test_access_id",
          "AccessSecret": "test_secret_key",
          "Role": "test_role",
          "InvDomain": "test_inv_domain",
          "InvBucket": "test_inv_bucket",
          "InvAccessId": "test_inv_access_id",
          "InvAccessSecret": "test_inv_secret_key",
          "InvPath": "manifest.json",
          "InvRole": "test_inv_role",
          "InvLocation": "oss",
          "AgentList": "agent1,agent2",
          "RegionId": "test_region_id",
          "InvRegionId": "test_inv_region_id"
        },
        "CreateTime": "2024-05-01T12:00:00.000Z",
        "ModifyTime": "2024-05-01T12:00:00.000Z",
        "VerifyTime": "2024-05-01T12:00:00.000Z",
        "Version": "test_id",
        "Tags": "K1:V1,K2:V2",
        "Status": "available",
        "VerifyResult": {
          "HttpCode": "400",
          "ErrorCode": "InvalidArgument",
          "ErrorMsg": "Invalid argument."
        }
      }
    ]
  }
}

データアドレスの更新

次のサンプルコードは、エージェントのスケールアップまたはスケールダウンが必要なシナリオで、データアドレスに関連付けられているエージェントを更新する方法を示しています。

重要

少なくとも 1 つのエージェント名を指定する必要があります。 エージェントトンネルを変更すると、更新は失敗します。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.*;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      // カンマ区切りのエージェント名のリストを指定します。リストは空にできません。
      String agentList = "exampleagent1,exampleagent2,exampleagent3...";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         UpdateAddressRequest request = new UpdateAddressRequest();
         UpdateAddressInfo info = new UpdateAddressInfo();
         info.setAgentList(agentList);
         request.setImportAddress(info);
         client.updateAddress(userId, addressName, request);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

データアドレスの削除

次のサンプルコードは、特定のデータアドレスを削除する方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;

public class Demo {
   /** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが危険にさらされます。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** Alibaba Cloud アカウントの ID を指定します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // データアドレスの名前を指定します。
      String addressName = "exampleaddress";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         client.deleteAddress(userId, addressName);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

次のステップ

データアドレスを作成したら、タスクを作成できます。 詳細については、「タスクの管理」をご参照ください。