github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/objects/object.go (about)

     1  package objects
     2  
     3  // 对象
     4  type Object struct {
     5  	bucket *Bucket
     6  	name   string
     7  }
     8  
     9  // 获取对象元信息
    10  func (object *Object) Stat() *StatObjectOperation {
    11  	return &StatObjectOperation{
    12  		object: *object,
    13  	}
    14  }
    15  
    16  // 移动对象
    17  func (object *Object) MoveTo(toBucketName, toObjectName string) *MoveObjectOperation {
    18  	return &MoveObjectOperation{
    19  		fromObject: *object,
    20  		toObject:   entry{toBucketName, toObjectName},
    21  	}
    22  }
    23  
    24  // 复制对象
    25  func (object *Object) CopyTo(toBucketName, toObjectName string) *CopyObjectOperation {
    26  	return &CopyObjectOperation{
    27  		fromObject: *object,
    28  		toObject:   entry{toBucketName, toObjectName},
    29  	}
    30  }
    31  
    32  // 删除对象
    33  func (object *Object) Delete() *DeleteObjectOperation {
    34  	return &DeleteObjectOperation{
    35  		object: *object,
    36  	}
    37  }
    38  
    39  // 解冻对象
    40  func (object *Object) Restore(freezeAfterDays int64) *RestoreObjectOperation {
    41  	return &RestoreObjectOperation{
    42  		object:          *object,
    43  		freezeAfterDays: freezeAfterDays,
    44  	}
    45  }
    46  
    47  // 设置对象存储类型
    48  func (object *Object) SetStorageClass(storageClass StorageClass) *SetObjectStorageClassOperation {
    49  	return &SetObjectStorageClassOperation{
    50  		object:       *object,
    51  		storageClass: storageClass,
    52  	}
    53  }
    54  
    55  // 设置对象状态
    56  func (object *Object) SetStatus(status Status) *SetObjectStatusOperation {
    57  	return &SetObjectStatusOperation{
    58  		object: *object,
    59  		status: status,
    60  	}
    61  }
    62  
    63  // 设置对象元信息
    64  func (object *Object) SetMetadata(mimeType string) *SetObjectMetadataOperation {
    65  	return &SetObjectMetadataOperation{
    66  		object:   *object,
    67  		mimeType: mimeType,
    68  	}
    69  }
    70  
    71  // 设置对象生命周期
    72  func (object *Object) SetLifeCycle() *SetObjectLifeCycleOperation {
    73  	return &SetObjectLifeCycleOperation{
    74  		object: *object,
    75  	}
    76  }