LibOss是Elixir实现的一个阿里云oss的SDK,目前支持的功能有:
-
Object:
-
基础操作:
- 上传文件
- 获取文件
- 删除文件
- 删除多个文件
- 获取前端直传签名
- 文件在bucket间拷贝
- 追加写文件
- 获取文件元信息
- 通过HTML表单上传的方式将文件
- 归档解冻
- 执行SQL语句
-
分片上传:
- 分片上传发起
- 分片上传完成
- 分片上传取消
- 分片上传列表
- 列举指定uploadid已经成功上传的part
-
权限控制ACL
- 设置文件ACL
- 获取文件ACL
-
软连接
- 创建软连接
- 获取软连接
-
标签
- 设置标签
- 获取标签
- 删除标签
-
-
Bucket:
-
基础操作:
- 创建bucket
- 删除bucket
- 获取bucket中文件
- 获取bucket中文件V2
- 查看bucket的相关信息
- 获取bucket存储容量以及文件(Object)数量
- 查看bucket的位置信息
-
接入点
- 创建接入点
- 删除接入点
- 获取接入点
- 列举接入点
- 配置接入点策略配置
- 获取接入点策略配置
- 删除接入点策略配置
-
权限控制
- 设置bucket ACL
- 获取bucket ACL
-
生命周期
-
传输加速
-
版本控制
-
数据复制
-
授权策略
-
清单
-
日志管理
-
静态网站
-
防盗链
-
标签
-
加密
-
请求者付费
-
访问跟踪
-
数据索引
-
高防
-
资源组
-
自定义域名
-
图片样式
-
归档直读
-
-
LiveChannel
Mix.install([
{:lib_oss, "~> 0.1"}
])
# 创建一个oss客户端
defmodule MyOss do
use LibOss, otp_app: :my_app
end
# 配置客户端
config :my_app, MyOss,
endpoint: "oss-cn-somewhere.aliyuncs.com",
access_key_id: "your access key id",
access_key_secret: "your access key secret"
# 在superivsor中启动
Supervisor.start_link(
[
MyOss
],
strategy: :one_for_one
)
# 上传文件
{:ok, content} = File.read("./test.txt")
MyOss.put_object("hope-data", "/test/test.txt", content)
更多使用方法请参考API文档