このトピックでは、SDK を使用してデータアドレスを管理するためのメソッドを呼び出す方法について説明します。
データアドレスの作成
次のサンプルコードは、OSS データアドレスを作成する方法を示しています。
OSS データアドレスを作成する前に、ロールを設定してロール名を取得する必要があります。詳細については、「ロールの設定」をご参照ください。
要件に応じてプロキシを関連付けることができます。詳細については、「プロキシを使用した移行の概要」をご参照ください。プロキシを関連付ける方法は、他のタイプのデータアドレスでも同じです。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
addressType := "oss"
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
regionId := "oss-cn-beijing"
bucket := "examplebucket"
prefix := "***/"
roleName := "rolename_xxxxx"
// プロキシのリスト。プロキシを関連付ける必要がない場合は、このパラメーターを指定する必要はありません。
agentList := "agent1,agent2,agent3"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
RegionId: ®ionId,
Bucket: &bucket,
Prefix: &prefix,
Role: &roleName,
AgentList: &agentList,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
次のサンプルコードは、OSS 在庫データアドレスを作成する方法を示しています。
OSS 在庫データアドレスを作成する前に、ロールを設定して rolename と invrolename を取得する必要があります。詳細については、「ロールの設定」をご参照ください。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
addressType := "ossinv"
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
prefix := "***/"
regionId := "oss-cn-beijing"
bucket := "examplebucket"
roleName := "rolename_xxxxx"
// 次のパラメーターは在庫に関するものです。
invLocation := "oss"
invBucket := "exampleinvbucket"
invRegionId := "oss-cn-beijing"
invRole := "invrolename_*******"
invPath := "dir/manifest.json"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
RegionId: ®ionId,
Bucket: &bucket,
Prefix: &prefix,
Role: &roleName,
InvLocation: &invLocation,
InvBucket: &invBucket,
InvRegionId: &invRegionId,
InvRole: &invRole,
InvPath: &invPath,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
次のサンプルコードは、一般的な在庫データアドレスを作成する方法を示しています。
在庫データアドレスを作成する前に、ロールを設定して rolename と invrolename を取得する必要があります。詳細については、「ロールの設定」をご参照ください。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
addressType := "inv"
// addressType が inv に設定されている場合、dataType を oss、s3、cos、obs、tos、qiniu、gcp、azure、ks3、bos、us3、または uss に設定できます。
dataType := "oss"
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
prefix := "***/"
regionId := "oss-cn-beijing"
bucket := "examplebucket"
roleName := "rolename_xxxxx"
// 次のパラメーターは在庫に関するものです。
invLocation := "oss"
invBucket := "exampleinvbucket"
invRegionId := "oss-cn-beijing"
invRole := "invrolename_*******"
invPath := "dir/manifest.json"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
DataType: &dataType,
RegionId: ®ionId,
Bucket: &bucket,
Prefix: &prefix,
Role: &roleName,
InvLocation: &invLocation,
InvBucket: &invBucket,
InvRegionId: &invRegionId,
InvRole: &invRole,
InvPath: &invPath,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
次のサンプルコードは、サードパーティのデータソースのデータアドレスを作成する方法を示しています。
s3
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "s3"
accessId := "***"
accessSecret := "******"
domain := "s3.ap-southeast-1.amazonaws.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
cos
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "cos"
accessId := "***"
accessSecret := "******"
domain := "cos.ap-nanjing.myqcloud.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
obs
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "obs"
accessId := "***"
accessSecret := "******"
domain := "obs.cn-north-1.myhuaweicloud.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
tos
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "tos"
accessId := "***"
accessSecret := "******"
domain := "tos-s3-cn-beijing.volces.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
qiniu
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "qiniu"
accessId := "***"
accessSecret := "******"
// ドメイン名の詳細については、https://developer.qiniu.com/kodo/8527/kodo-domain-name-management をご参照ください
domain := "http://xxxx.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
gcp
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "gcp"
accessId := "***"
accessSecret := "******"
// 実際の値に基づいて domain パラメーターを設定します。
domain := "Cloud Storage URI"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
azure
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "azure"
accessSecret := "******"
domain := "https://<storage-account>.blob.core.windows.net"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
ks3
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "ks3"
accessId := "***"
accessSecret := "******"
domain := "ks3-cn-beijing.ksyuncs.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
bos
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "bos"
accessId := "***"
accessSecret := "******"
domain := "bj.bcebos.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
ucloud s3
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "us3"
accessId := "***"
accessSecret := "******"
domain := "cn-bj.ufileos.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
Youpai
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "uss"
accessId := "***"
accessSecret := "******"
domain := "s3.api.upyun.com"
bucket := "examplebucket"
prefix := "***/"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
AccessId: &accessId,
AccessSecret: &accessSecret,
Domain: &domain,
Bucket: &bucket,
Prefix: &prefix,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
次のサンプルコードは、HTTP データアドレスを作成する方法を示しています。
HTTP データアドレスを作成する前に、ロールを設定して invrolename を取得する必要があります。詳細については、「ロールの設定」をご参照ください。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "http"
invDomain := "oss-cn-beijing.aliyuncs.com"
invBucket := "exampleinvbucket"
invLocation := "oss"
invPath := "dir/manifest.json"
invRole := "invrolename_*******"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
InvDomain: &invDomain,
InvLocation: &invLocation,
InvPath: &invPath,
InvRole: &invRole,
InvBucket: &invBucket,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
次のサンプルコードは、LocalFS データアドレスを作成する方法を示しています。LocalFS データアドレスはプロキシに関連付ける必要があります。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
address := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 実際の値に基づいて、移行するデータに関する次のパラメーターを設定します。
addressType := "local"
prefix := "/***/"
// プロキシのリスト。
agentList := "agent1,agent2,agent3"
detail := mgwpackage.AddressDetail{
AddressType: &addressType,
Prefix: &prefix,
AgentList: &agentList,
}
_, err = client.CreateAddress(&userId, &mgwpackage.CreateAddressRequest{
ImportAddress: &mgwpackage.CreateAddressInfo{
Name: &address,
AddressDetail: &detail,
}})
if err != nil {
log.Printf("create address failed: %v", err)
return
}
}
データアドレス詳細の取得
次のサンプルコードは、データアドレスの詳細を取得する方法を示しています。
package main
import (
"encoding/json"
"fmt"
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
addressName := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
resp, err := client.GetAddress(&userId, &addressName)
if err != nil {
log.Printf("get address failed: %v", err)
return
}
jsonBytes, err := json.Marshal(resp)
if err != nil {
log.Printf("covert failed: %v", err)
return
}
fmt.Println(string(jsonBytes))
}
応答の例
{
"ImportAddress": {
"Owner": "test_owner", // オーナー
"Name": "test_name", // 名前
"AddressDetail": {
"AddressType": "ossinv", // アドレスタイプ
"Bucket": "test_bucket", // バケット
"Domain": "test_domain", // ドメイン
"Prefix": "test_prefix", // プレフィックス
"AccessId": "test_access_id", // アクセス ID
"AccessSecret": "test_secret_key", // アクセスシークレット
"Role": "test_role", // ロール
"InvDomain": "test_inv_domain", // インベントリドメイン
"InvBucket": "test_inv_bucket", // インベントリバケット
"InvAccessId": "test_inv_access_id", // インベントリアクセス ID
"InvAccessSecret": "test_inv_secret_key", // インベントリアクセスシークレット
"InvPath": "manifest.json", // インベントリパス
"InvRole": "test_inv_role", // インベントリロール
"InvLocation": "oss", // インベントリの場所
"AgentList": "agent1,agent2", // エージェントリスト
"RegionId": "test_region_id", // リージョン ID
"InvRegionId": "test_inv_region_id" // インベントリリージョン 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": "avaliable", // ステータス
"VerifyResult": { // 確認結果
"HttpCode": "400", // HTTP コード
"ErrorCode": "InvalidArgument", // エラーコード
"ErrorMsg": "Invalid argument." // エラーメッセージ
}
}
}データアドレスを確認する
次のサンプルコードは、指定されたデータアドレスの可用性を確認する方法を示しています。
package main
import (
"encoding/json"
"fmt"
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
addressName := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
resp, err := client.VerifyAddress(&userId, &addressName)
if err != nil {
log.Printf("verify address failed: %v", err)
return
}
jsonBytes, err := json.Marshal(resp)
if err != nil {
log.Printf("covert failed: %v", err)
return
}
// status フィールドの値が available の場合にのみ、データアドレスは有効です。その他の値は、データアドレスが無効であることを示します。
fmt.Println(string(jsonBytes))
}
利用可能なアドレスの応答例
{
"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." // エラーメッセージ: 無効な引数
}
}データアドレスを一覧表示する
次のサンプルコードは、アカウント内のすべてのデータアドレスをリスト表示する方法を示しています。
package main
import (
"encoding/json"
"fmt"
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
// 必要に応じて marker と count パラメーターを設定します。
count := int32(1)
marker := ""
resp, err := client.ListAddress(&userId, &mgwpackage.ListAddressRequest{
Count: &count, Marker: &marker,
})
if err != nil {
log.Printf("list address failed: %v", err)
return
}
jsonBytes, err := json.Marshal(resp)
if err != nil {
log.Printf("covert failed: %v", err)
return
}
// status フィールドの値が available の場合にのみ、データアドレスは有効です。その他の値は、データアドレスが無効であることを示します。
fmt.Println(string(jsonBytes))
}
応答の例
{
"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", // アクセス ID
"AccessSecret": "test_secret_key", // アクセスシークレット
"Role": "test_role", // ロール
"InvDomain": "test_inv_domain", // インベントリドメイン
"InvBucket": "test_inv_bucket", // インベントリバケット
"InvAccessId": "test_inv_access_id", // インベントリアクセス ID
"InvAccessSecret": "test_inv_secret_key", // インベントリアクセスシークレット
"InvPath": "manifest.json", // インベントリパス
"InvRole": "test_inv_role", // インベントリロール
"InvLocation": "oss", // インベントリの場所
"AgentList": "agent1,agent2", // エージェントリスト
"RegionId": "test_region_id", // リージョン ID
"InvRegionId": "test_inv_region_id" // インベントリリージョン 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": "avaliable", // ステータス
"VerifyResult": { // 確認結果
"HttpCode": "400", // HTTP コード
"ErrorCode": "InvalidArgument", // エラーコード
"ErrorMsg": "Invalid argument." // エラーメッセージ
}
}
]
}
}データアドレスを更新する
次のサンプルコードは、プロキシのスケールアウトまたはスケールインが必要な場合に、指定されたデータアドレスに関連付けられたプロキシを更新する方法を示しています。
少なくとも 1 つのプロキシ名を指定する必要があります。プロキシチャンネルを変更しないでください。変更すると更新が失敗します。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
addressName := "exampleaddress"
// プロキシの名前を指定します。複数の名前はカンマ (,) で区切ります。このパラメーターは空にできません。
agentList := "exampleagent1,exampleagent2,exampleagent3..."
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
_, err = client.UpdateAddress(&userId, &addressName, &mgwpackage.UpdateAddressRequest{
ImportAddress: &mgwpackage.UpdateAddressInfo{
AgentList: &agentList,
},
})
if err != nil {
log.Printf("update address failed: %v", err)
return
}
}
データアドレスの削除
次のサンプルコードは、指定されたデータアドレスを削除する方法を示しています。
package main
import (
"log"
"os"
openapipackage "github.com/alibabacloud-go/darabonba-openapi/v2/client"
mgwpackage "github.com/alibabacloud-go/hcs-mgw-20240626/client"
)
/** AccessKey ID と AccessKey Secret をプロジェクトコードに保存しないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。*/
var accessKeyId = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
var accessKeySecret = os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
/** Alibaba Cloud アカウントの ID を指定します。*/
var userId = "11470***876***55"
func main() {
// この例では、中国 (北京) リージョンを使用します。
endpoint := "cn-beijing.mgw.aliyuncs.com"
// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
protocol := "http"
// データアドレスの名前を指定します。
addressName := "exampleaddress"
config := openapipackage.Config{
AccessKeyId: &accessKeyId,
AccessKeySecret: &accessKeySecret,
Endpoint: &endpoint,
Protocol: &protocol,
}
client, err := mgwpackage.NewClient(&config)
if err != nil {
log.Printf("create client failed: %v", err)
return
}
_, err = client.DeleteAddress(&userId, &addressName)
if err != nil {
log.Printf("delete address failed: %v", err)
return
}
}
次のステップ
データアドレスを作成した後、タスクを作成できます。詳細については、「タスク」をご参照ください。