You need to enable JavaScript to run this app.
文档中心
火山引擎入门实验

火山引擎入门实验

复制全文
下载 pdf
存储
使用 Terraform 管理对象存储
复制全文
下载 pdf
使用 Terraform 管理对象存储

本文介绍使用 Terraform 进行对象存储管理。

前言

本文主要介绍使用 Terraform 管理对象存储的方法。

关于实验
  • 预计部署时间:30分钟
  • 级别:初级
  • 相关产品:TOS
  • 受众: 通用
实验说明
  • 点击此链接登录控制台。

  • 如果您还没有账户,请点击此链接注册账户。

实验步骤

安装和初始化Terraform

参考如下步骤安装 Terraform

  1. 登录Terraform官网或进入下载页,建议使用0.13.x或者更高的版本,下载对应操作系统的安装包。

  2. 解压安装包,并将terraform可执行文件所在目录添加到系统环境变量PATH中。

  3. 在命令行中执行如下命令验证配置路径是否正确,回显如下则说明配置正确,Terraform可以正常运行。

> terraform
Usage: terraform [-version] [-help] <command> [args]

....

初始化使用环境

  1. 使用Terraform管理火山引擎的云资源前,您需要获取AK/SK,参考 访问密钥

  2. 在任意目录下创建一个文本文件,命名为 main.tf。

  3. 编辑 main.tf 文件,设置Provider信息,version 信息请从Terraform官网获取,添加内容如下:

terraform {
  required_providers {
    volcengine = {
      source = "volcengine/volcengine"
      version = "0.0.24"
    }
  }
}

4.配置火山引擎账号信息。
a.创建环境变量,存放身份认证信息。

export VOLCENGINE_ACCESS_KEY="AK"
export VOLCENGINE_SECRET_KEY="SK"
export VOLCENGINE_REGION="cn-beijing"

b.通过配置文件 provider 部分,指定身份认证信息。

provider "volcengine" {
  access_key = "AK"
  secret_key = "SK"
  region = "cn-beijing"
}

管理对象存储

创建 Bucket

resource "volcengine_tos_bucket" "default" {
  bucket_name = "test-terraform-1"
  storage_class = "STANDARD"
}

参数说明

参数必填说明
bucket_name存储空间名称
storage_class存储类型,可选值为STANDARD、IA、ARCHIVE_FR,默认为STANDARD(标准存储)

配置桶ACLs

账号授权

resource "volcengine_tos_bucket" "default" {
  bucket_name = "test-terraform-1"
  account_acl {
        account_id = "1"
        permission = "READ"
        }
}

参数说明:

参数必填说明
account_acl配置账号授权
account_id当设置 account_acl 时必填账号id
permission当设置 account_acl 时必填要授予的权限,可选值为 FULL_CONTROL、READ、READ_ACP、WRITE、WRITE_ACP
acl_type要控制的acl类型,可选值为 CanonicalUser

配置公共访问权限

resource "volcengine_tos_bucket" "default" {
  bucket_name = "test-terraform-1"
  account_acl {
        account_id = "1"
        permission = "READ"
        }
  public_acl = "private"
}

参数说明:

参数必填说明
public_acl配置公共访问权限,可选值为private、public-read、public-read-write、authenticated-read、bucket-owner-read

开启版本控制

resource "volcengine_tos_bucket" "default" {
  bucket_name = "test-terraform-1"
  enable_version = "true"
}
参数必填说明
enable_version是否开启版本控制

创建 Object

resource "volcengine_tos_object" "default" {
        bucket_name = "test-terraform-1"
        object_name = "test_object.mp4"
        file_path   = "/Users/bytedance/Downloads/test.mp4"
        #storage_class ="IA"
        #public_acl = "private"
        #encryption = "AES256"
        #content_type = "text/plain"
        #account_acl {
        #       account_id = "1"
        #       permission = "READ"
        #}
}

参数说明:

必填说明
bucket_name存储空间名称
object_name对象名称
file_path上传文件路径
storage_class存储类型,可选值为STANDARD、IA、ARCHIVE_FR,默认为STANDARD(标准存储)
public_acl配置公共访问权限,可选值为private、public-read、public-read-write、authenticated-read、bucket-owner-read
encryption加密类型,可选值为 AES256
content_type设置文件的content-type
account_acl配置账号授权
account_id当设置 account_acl 时必填账号id
permission当设置 account_acl 时必填要授予的权限,可选值为 FULL_CONTROL、READ、READ_ACP、WRITE、WRITE_ACP

对象存储 Data Source

查询对象存储桶信息

data "volcengine_tos_buckets" "default" {
        bucket_name = "test-terraform-1"
        name_regex = "test"
        output_file = "/Users/bytedance/output_buckets"
}

参数说明:

必填说明
bucket_name存储空间名称
name_regex存储空间名称正则匹配
output_file查询结果输出文件路径

查询对象存储object信息

data "volcengine_tos_objects" "default" {
        bucket_name = "test-terraform-1"
        output_file = "/Users/bytedance/output_objects"
}

参数说明:

必填说明
bucket_name存储空间名称
name_regex对象名称正则匹配
object_name对象名称
output_file查询结果输出文件路径

如果您有其他问题,欢迎您联系火山引擎技术支持服务

最近更新时间:2024.01.03 10:41:04
这个页面对您有帮助吗?
有用
有用
无用
无用