このトピックでは、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();
}
}
}次のステップ
データアドレスを作成したら、タスクを作成できます。 詳細については、「タスクの管理」をご参照ください。