LibOss.Core.Object (lib_oss v0.3.0)
View Source对象操作模块
负责基础对象操作:
- 基础对象操作:put_object, get_object, delete_object, copy_object
 - 追加写:append_object
 - 元数据:head_object, get_object_meta
 - 批量删除:delete_multiple_objects
 
Summary
Functions
检查对象是否存在
Types
@type err_t() :: {:error, LibOss.Exception.t()}
Functions
@spec append_object( module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object(), non_neg_integer(), binary(), LibOss.Typespecs.headers() ) :: :ok | err_t()
追加写对象
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 - since: 追加位置
 - data: 追加的数据
 - headers: 可选的HTTP请求头
 
返回值
:ok | {:error, Exception.t()}
示例
iex> LibOss.Core.Object.append_object(MyOss, "my-bucket", "my-object", 0, "Hello")
:ok
  @spec copy_object( module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object(), LibOss.Typespecs.headers() ) :: :ok | err_t()
复制对象
参数
- name: Agent进程名称
 - bucket: 目标存储桶名称
 - object: 目标对象名称
 - source_bucket: 源存储桶名称
 - source_object: 源对象名称
 - headers: 可选的HTTP请求头
 
返回值
:ok | {:error, Exception.t()}
示例
iex> LibOss.Core.Object.copy_object(MyOss, "dest-bucket", "dest-object", "src-bucket", "src-object")
:ok
  @spec delete_multiple_objects(module(), LibOss.Typespecs.bucket(), [ LibOss.Typespecs.object() ]) :: :ok | err_t()
批量删除对象
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - objects: 对象名称列表
 
返回值
:ok | {:error, Exception.t()}
示例
iex> LibOss.Core.Object.delete_multiple_objects(MyOss, "my-bucket", ["obj1", "obj2", "obj3"])
:ok
  @spec delete_object(module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object()) :: :ok | err_t()
删除对象
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 
返回值
:ok | {:error, Exception.t()}
示例
iex> LibOss.Core.Object.delete_object(MyOss, "my-bucket", "my-object")
:ok
  @spec get_object( module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object(), LibOss.Typespecs.headers() ) :: {:ok, binary()} | err_t()
获取对象
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 - req_headers: 可选的HTTP请求头
 
返回值
| {:error, Exception.t()}
示例
iex> LibOss.Core.Object.get_object(MyOss, "my-bucket", "my-object")
{:ok, "Hello World"}
  @spec get_object_meta(module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object()) :: {:ok, LibOss.Typespecs.dict()} | err_t()
获取对象元数据
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 
返回值
| {:error, Exception.t()}
示例
iex> LibOss.Core.Object.get_object_meta(MyOss, "my-bucket", "my-object")
{:ok, %{"content-length" => "11", "etag" => ""5d41402abc4b2a76b9719d911017c592""}}
  @spec get_object_size(module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object()) :: {:ok, non_neg_integer()} | err_t()
获取对象大小
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 
返回值
| {:error, Exception.t()}
示例
iex> LibOss.Core.Object.get_object_size(MyOss, "my-bucket", "my-object")
{:ok, 1024}
  @spec head_object( module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object(), LibOss.Typespecs.headers() ) :: {:ok, LibOss.Typespecs.dict()} | err_t()
获取对象头部信息
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 - headers: 可选的HTTP请求头
 
返回值
| {:error, Exception.t()}
示例
iex> LibOss.Core.Object.head_object(MyOss, "my-bucket", "my-object")
{:ok, %{"content-length" => "11", "content-type" => "text/plain"}}
  @spec object_exists?(module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object()) :: boolean()
检查对象是否存在
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 
返回值
- boolean()
 
示例
iex> LibOss.Core.Object.object_exists?(MyOss, "my-bucket", "my-object")
true
  @spec put_object( module(), LibOss.Typespecs.bucket(), LibOss.Typespecs.object(), iodata(), LibOss.Typespecs.headers() ) :: :ok | err_t()
上传对象
参数
- name: Agent进程名称
 - bucket: 存储桶名称
 - object: 对象名称
 - data: 对象数据
 - headers: 可选的HTTP请求头
 
返回值
:ok | {:error, Exception.t()}
示例
iex> LibOss.Core.Object.put_object(MyOss, "my-bucket", "my-object", "Hello World")
:ok