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

Data Online Migration:データアドレス

最終更新日:Jun 18, 2026

このトピックでは、Go SDK を使用して、データオンライン移行のデータアドレスを作成、取得、検証、一覧取得、更新、および削除する方法について説明します。

データアドレスの作成

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

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

  • プロキシを関連付ける必要があるかどうかは、具体的なシナリオによって異なります。詳細については、「プロキシを使用した移行の概要」をご参照ください。関連付けの方法は、他のデータアドレスタイプでも同じです。

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:    &regionId,
        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:    &regionId,
        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:    &regionId,
        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
    }
}

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 := "s3compat"
    accessId := "***"
    accessSecret := "******"
    domain := "<s3 compat url>"
    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 US3

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
    }
}

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
    }
}

UPYUN

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 をプロジェクトコードに保存しないことを強く推奨します。保存した場合、アクセスキーペアが漏洩し、アカウント内のすべてのリソースのセキュリティが損なわれるリスクがあります。 */
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() {
    // この例では、China (Beijing) リージョンを使用します。
    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"
    invRegionId := "oss-cn-beijing"
    invBucket := "exampleinvbucket"
    invLocation := "oss"
    invPath := "dir/manifest.json"
    invRole := "invrolename_*******"
    detail := mgwpackage.AddressDetail{
        AddressType: &addressType,
        InvRegionId:   &invRegionId,
        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 データアドレスを作成する方法を示しています。このデータアドレスはプロキシに関連付ける必要があります。

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 をプロジェクトコードに保存しないことを強く推奨します。保存した場合、アクセスキーペアが漏洩し、アカウント内のすべてのリソースのセキュリティが損なわれるリスクがあります。 */
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() {
    // この例では、China (Beijing) リージョンを使用します。
    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() {
    // この例では、China (Beijing) リージョンを使用します。
    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("convert 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",
      "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 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() {
    // この例では、China (Beijing) リージョンを使用します。
    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("convert 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() {
    // この例では、China (Beijing) リージョンを使用します。
    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("convert 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",
          "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 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() {
    // この例では、China (Beijing) リージョンを使用します。
    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() {
    // この例では、China (Beijing) リージョンを使用します。
    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
    }
}

次のステップ

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