You need to enable JavaScript to run this app.
导航
资源管理
最近更新时间:2024.12.05 16:19:54首次发布时间:2021.02.23 10:42:26

阅读本文,您可以获取 Go SDK 资源管理的接口调用示例,实现快速开发。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Go SDK 的安装及初始化操作。

调用示例

本节为您介绍资源管理相关接口的功能和调用示例。

删除服务下多个文件

您可以调用 DeleteImageUploadFiles 接口删除指定的文件。详细的参数说明可参见 DeleteImageUploadFiles 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_DeleteImageUploadFiles(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.DeleteImageUploadFilesReq{
		DeleteImageUploadFilesQuery: &imagex.DeleteImageUploadFilesQuery{},
		DeleteImageUploadFilesBody:  &imagex.DeleteImageUploadFilesBody{},
	}

	resp, err := instance.DeleteImageUploadFiles(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

预览服务下的文件

您可以调用 PreviewImageUploadFile 接口获取指定文件的详细信息。详细的参数说明可参见 PreviewImageUploadFile 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_PreviewImageUploadFile(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.PreviewImageUploadFileQuery{}

	resp, err := instance.PreviewImageUploadFile(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

列举服务下的文件

您可以调用 GetImageStorageFiles 接口列举并返回服务对应存储下的全量资源,并按照 Key 的字典序返回。详细的参数说明可参见 GetImageStorageFiles 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_GetImageStorageFiles(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetImageStorageFilesQuery{}

	resp, err := instance.GetImageStorageFiles(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

修改文件存储类型

您可以调用 UpdateFileStorageClass 接口修改文件存储类型。详细的参数说明可参见 UpdateFileStorageClass 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_UpdateFileStorageClass(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.UpdateFileStorageClassReq{
		UpdateFileStorageClassQuery: &imagex.UpdateFileStorageClassQuery{},
		UpdateFileStorageClassBody:  &imagex.UpdateFileStorageClassBody{},
	}

	resp, err := instance.UpdateFileStorageClass(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

更新资源封禁/解封状态

您可以调用 UpdateImageResourceStatus 接口修改指定服务下资源的封禁状态。详细的参数说明可参见 UpdateImageResourceStatus 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_UpdateImageResourceStatus(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.UpdateImageResourceStatusReq{
		UpdateImageResourceStatusQuery: &imagex.UpdateImageResourceStatusQuery{},
		UpdateImageResourceStatusBody:  &imagex.UpdateImageResourceStatusBody{},
	}

	resp, err := instance.UpdateImageResourceStatus(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

重命名文件

您可以调用 UpdateImageFileKey 接口通过指定源文件的 storekey 来对指定文件进行重命名操作。详细的参数说明可参见 UpdateImageFileKey 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_UpdateImageFileKey(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.UpdateImageFileKeyReq{
		UpdateImageFileKeyQuery: &imagex.UpdateImageFileKeyQuery{},
		UpdateImageFileKeyBody:  &imagex.UpdateImageFileKeyBody{},
	}

	resp, err := instance.UpdateImageFileKey(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

恢复文件

您可以调用 CreateFileRestore 接口恢复文件。详细的参数说明可参见 CreateFileRestore 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_CreateFileRestore(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.CreateFileRestoreReq{
		CreateFileRestoreQuery: &imagex.CreateFileRestoreQuery{},
		CreateFileRestoreBody:  &imagex.CreateFileRestoreBody{},
	}

	resp, err := instance.CreateFileRestore(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

获取服务下单个上传文件

您可以调用 GetImageUploadFile 接口指定服务 ID 以及已上传的文件 Uri,来获取上传文件的详细信息。详细的参数说明可参见 GetImageUploadFile 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_GetImageUploadFile(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetImageUploadFileQuery{}

	resp, err := instance.GetImageUploadFile(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

获取服务下的上传文件列表

您可以调用 GetImageUploadFiles 接口获取当前服务下全部的上传文件信息。详细的参数说明可参见 GetImageUploadFiles 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_GetImageUploadFiles(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetImageUploadFilesQuery{}

	resp, err := instance.GetImageUploadFiles(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

更新文件的 Content-Type 值

您可以调用 UpdateImageFileCT 接口更新文件的 Content-Type 值。详细的参数说明可参见 UpdateImageFileCT 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_UpdateImageFileCT(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.UpdateImageFileCTReq{
		UpdateImageFileCTQuery: &imagex.UpdateImageFileCTQuery{},
		UpdateImageFileCTBody:  &imagex.UpdateImageFileCTBody{},
	}

	resp, err := instance.UpdateImageFileCT(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

获取资 URL

您可以调用 GetResourceURL 接口获取指定服务即域名的资源地址。详细的参数说明可参见 GetResourceURL 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_GetResourceURL(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetResourceURLQuery{}

	resp, err := instance.GetResourceURL(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

复制资源

您可以调用 CreateImageFromUri 接口源服务内的存储资源,复制到目标服务中。详细的参数说明可参见 CreateImageFromUri 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_CreateImageFromURI(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.CreateImageFromURIReq{
		CreateImageFromURIQuery: &imagex.CreateImageFromURIQuery{},
		CreateImageFromURIBody:  &imagex.CreateImageFromURIBody{},
	}

	resp, err := instance.CreateImageFromURI(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}