更新时间:2023-12-22 GMT+08:00

基本操作

应用场景

对象存储服务OBS(Object Storage Service)提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。适合企业备份/归档、视频点播、视频监控等多种数据存储场景。

操作步骤

  1. 创建OBS存储桶。

    1. 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。
      resource "huaweicloud_obs_bucket" "myexample" {
        bucket = "myexample-bucket"
        acl    = "private"
        tags = {
          type = "bucket"
          env  = "Test"
        }
      }
    2. 运行 terraform init 进行初始化。
    3. 运行 terraform plan 查看资源。
    4. 确认资源无误后,运行 terraform apply 开始创建。
    5. 运行 terraform show 可以查看已创建的OBS桶。

  2. 上传对象。

    1. 支持通过数据流和源文件路径上传对象,在main.tf文件中增加以下内容。
      # 通过数据流上传对象
      resource "huaweicloud_obs_bucket_object" "myobject1" {
        bucket       = huaweicloud_obs_bucket.myexample.bucket
        key          = "myobject1"
        content      = "content of myobject1"
        content_type = "application/xml"
      }
      # 通过源文件路径上传对象
      resource "huaweicloud_obs_bucket_object" "myobject2" {
        bucket = huaweicloud_obs_bucket.myexample.bucket
        key    = "myobject2"
        source = "hello.txt"
      }
      # 通过源文件路径上传对象并进行服务端加密
      resource "huaweicloud_obs_bucket_object" "myobject3" {
        bucket     = huaweicloud_obs_bucket.myexample.bucket
        key        = "myobject3"
        source     = "hello.txt"
        encryption = true
      }
    2. 运行 terraform plan 查看资源。
    3. 确认资源无误后,运行 terraform apply 开始创建。
    4. 运行 terraform show 可以查看已上传的对象。

表1 参数说明

资源名称

参数名称

参数说明

huaweicloud_obs_bucket

bucket

(必填)OBS存储桶名称

  • 约束:在OBS中必须是全局唯一的,包含3到63个字符,允许小写字母、数字、连字符(-)和点号(.),不能以句点(.)或连字符(-)开始或结束,不能包含两个连续的句点(.)或相邻的句点(.)和连字符(-),不能是IP地址。

acl

(可选)OBS存储桶访问控制策略

  • 取值范围:

    private:默认策略,除桶ACL授权外的其他用户无桶的访问权限。

    public-read:任何用户都可以对桶内对象进行读操作。

    public-read-write:任何用户都可以对桶内对象进行读/写/删除操作。

tags

(可选)桶标签

huaweicloud_obs_bucket_object

bucket

(必填)存储桶名称

key

(必填)对象名称

source

(可选)待上传对象的源文件路径

content

(可选)待上传对象的数据流

content_type

(可选)待上传对象的MIME类型

encryption

(可选)是否开启桶的默认服务端加密