このトピックでは、SDK を使用してデータアドレスを管理する方法について説明します。データアドレスは、データ移行タスクのソースまたは送信先です。
データアドレスの作成
次の例では、Alibaba Cloud Object Storage Service (OSS) のデータアドレスを作成する方法を示します。
Alibaba Cloud OSS のデータアドレスを作成する前に、ロールを設定し、ロール名 (
rolename) を取得する必要があります。シナリオによっては、エージェントを関連付ける必要があります。詳細については、「エージェントを使用したデータ移行」をご参照ください。この関連付け方法は、すべてのデータアドレスタイプに適用されます。
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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 インベントリのデータアドレスを作成する前に、ロールを設定し、ロール名 (rolename) とインベントリロール名 (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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
次の例では、汎用インベントリのデータアドレスを作成する方法を示します。
汎用インベントリのデータアドレスを作成する前に、ロールを設定し、ロール名 (rolename) とインベントリロール名 (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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
config.setProtocol("http");
Client client = new Client(config);
AddressDetail detail = new AddressDetail();
// 次のパラメーターは、移行するデータに関する情報を指定します。実際の情報に合わせて値を置き換えてください。
detail.addressType = "inv";
// addressType が "inv" の場合、dataType の有効な値は、<code>osss3cosobstosqiniugcpazureks3bosus3uss次の例では、サードパーティのクラウドストレージのデータアドレスを作成する方法を示します。
Amazon 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
config.setProtocol("http");
Client client = new Client(config);
AddressDetail detail = new AddressDetail();
// 次のパラメーターは、移行するデータに関する情報を指定します。実際の情報に合わせて値を置き換えてください。
detail.addressType = "s3compat";
detail.accessId = "***";
detail.accessSecret = "******";
detail.domain = "<s3-compatible-url>";
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();
}
}
}
Tencent 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
Huawei 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
Volcengine 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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 Kodo
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
Google Cloud Storage
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
config.setProtocol("http");
Client client = new Client(config);
AddressDetail detail = new AddressDetail();
// 次のパラメーターは、移行するデータに関する情報を指定します。実際の情報に合わせて値を置き換えてください。
detail.addressType = "gcp";
detail.accessId = "***";
detail.accessSecret = "******";
// ドメインを実際の値に置き換えてください。
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 Blob Storage
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
Kingsoft 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
Baidu 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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 US3
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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();
}
}
}
UPYUN
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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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/HTTPS タイプのデータアドレスを作成する方法を示します。
HTTP/HTTPS タイプのデータアドレスを作成する前に、ロールを設定し、インベントリロール名 (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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
config.setProtocol("http");
Client client = new Client(config);
AddressDetail detail = new AddressDetail();
// 次のパラメーターは、移行するデータに関する情報を指定します。実際の情報に合わせて値を置き換えてください。
detail.addressType = "http";
detail.invLocation = "oss";
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();
}
}
}次の例では、LocalFS タイプのデータアドレスを作成する方法を示します。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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで 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);
// HTTP と HTTPS がサポートされています。プロトコルを指定しない場合、デフォルトで HTTPS が使用されます。
config.setProtocol("http");
Client client = new Client(config);
client.deleteAddress(userId, addressName);
} catch (Exception e) {
e.printStackTrace();
}
}
}次のステップ
データアドレスを作成した後、タスクを作成できます。詳細については、「タスクの管理」をご参照ください。