CDC中的对象存储,如果在CVM实例中使用,需要先做好域名解析、权限配置等工作。
对象存储服务与客户的VPC打通,需要客户先确认在哪个子网中使用。由腾讯云工程师进行网络配置,会在客户指定的子网中配置一个vip并与对象存储打通并映射。
如果客户要在多个子网中使用使用对象存储,建议通过ACL、安全组的配置,将该vip与其他子网打通。
如果CDC与公有云已经打通数据通道,可以使用公有云的DNS进行解析。如果数据通道没有打通,或者客户要使用自己的DNS解析服务,那么需要做域名解析配置。
CDC里的对象存储的存储桶的域名格式为:<BucketName-APPID>.<CDC-ID>.cos-cdc.<Region>.myqcloud.com,域名解析时将<CDC-ID>.cos-cdc.<Region>.myqcloud.com解析到vip即可。存储桶的域名也可以在存储桶的概览页中直接查看。
service.cos.myqcloud.com也解析到vip。
客户如果要临时解析,可以通过配置CVM实例的hosts文件进行解析,这时需要将需要访问的每个存储桶的域名以及service.cos.myqcloud.com都配置到vip上。
注:如果有办法将vip做模糊匹配解析到类似于*.<CDC-ID>.cos-cdc.<Region>.myqcloud.com这样的格式,还请指导一下。
CDC中对象存储默认是私有读写权限,客户可以通过API的方式进行访问。但是客户如果要用对象文件的网络地址直接下载,则需要添加匿名访问权限,操作如下。
l 打开存储桶,进入 「Policy权限设置」 页面
l 点击页面中 Policy权限设置 中的 添加策略 链接。
l 根据要做的控制进行设置,如下截图是设置匿名访问的一个示例。
l 点击完成后权限生效,就可以在CVM实例中直接通过对象的域名进行下载。
腾讯云提供了多种COS工具,帮助客户面对各种COS使用场景。
以ubuntu系统为例,将COSCLI工具下载到虚拟机中,该程序可以直接执行,请拷贝到合适的位置,给与执行权限。下载地址见:https://cloud.tencent.com/document/product/436/63144。
l 执行 ./coscli config show 查看配置,如果没有配置会自动开始初始化。也可以使用 ./coscli config init直接初始化。
l 按提示输入Secret ID,Secret Key,token,桶名字,桶域名,桶别名。Token可以不设置,桶别名建议设置。
因为CDC里的对象存储没有配置https,所以需要把工具切换到http。
l 找到配置文件,windows一般在 C:\Users\<用户名>目录下,linux一般在~/.cos.yaml。如果用root账号做的配置,配置文件会在 /root/.cos.yaml。
l 编辑.cosyaml文件,将protocol参数从https改为http
命令格式
./coscli ls [cos://<bucket-name>[/prefix/]] [flag]
l cos://<bucket-name>可以是桶名称或桶别名
l /prefix是可选参数,指定某一文件夹
l Flag如下
flag 简写 | flag 全称 | flag 用途 |
---|---|---|
-h | --help | 查看该命令的具体用法 |
无 | --include | 包含特定模式的文件 |
无 | --exclude | 排除特定模式的文件 |
-r | --recursive | 是否递归地遍历文件夹,并列出所有文件 |
无 | --limit | 指定列出的最大数量(0 - 1000) |
这里查看别名为cvm-temp的存储桶的文件列表,执行情况如下
命令格式
./coscli cp <source_path> <destination_path> [flags]
命令参数说明
参数格式 | 参数用途 | 示例 |
---|---|---|
source_path | 源文件路径。可以为本地路径或COS 文件路径。COS路径支持使用 配置参数 中的桶别名,或桶名称进行访问。如使用桶名称访问,需要额外携带 endpoint flag。 | 本地路径:~/example.txt使用桶别名指定 COS 文件路径:cos://bucketalias/example.txt使用桶名称指定 COS 文件路径:cos://examplebucket-1250000000/example.txt |
destination_path | 目的文件路径。可以为本地路径或 COS 文件路径。COS 路径支持使用 配置参数 中的桶别名,或桶名称进行访问。如使用桶名称访问,需要额外携带 endpoint flag。 | 本地路径:~/example.txt使用桶别名指定 COS 文件路径:cos://bucketalias/example.txt使用桶名称指定 COS 文件路径:cos://examplebucket-1250000000/example.txt |
可选flag如下
简写 | flag 全称 | flag 用途 |
---|---|---|
无 | --include | 包含特定模式的文件 |
无 | --exclude | 排除特定模式的文件 |
-r | --recursive | 是否递归遍历文件夹下所有文件 |
无 | --storage-class | 指定上传文件的存储类型(默认 STANDARD),更多存储类型,请参见 存储类型概述 |
无 | --part-size | 文件分块大小(默认32MB),单位MB |
无 | --thread-num | 并发线程数(默认并发5) |
无 | --rate-limiting | 单链接速率限制(0.1~100MB/s),单位MB/s |
无 | --meta | 上传文件的元信息。包括部分 HTTP 标准属性(HTTP Header)以及以 x-cos-meta- 开头的用户自定义元数据(User Meta)。文件元信息格式为 header:value#header:value,示例为 Expires:2022-10-12T00:00:00.000Z#Cache-Control:no-cache#Content-Encoding:gzip#x-cos-meta-x:x。 |
使用该命令将虚拟机硬盘里的文件上传到存储桶的示例如下
以ubuntu为例
安装s3cmd
sudo apt install s3cmd
创建s3cmd的配置文件
创建 .s3cfg 文件,普通账号放在账号目录下,管理员账号放在 /root 目录下。
.s3cfg文件内容如下,前两项分别对应腾讯云账号的SecretID、SecretKey。
Host_base对应CDC里对象存储的域名。
host_bucket中 %(bucket)s. 这部分不变,后面也是CDC里对象存储的域名。
查看存储桶列表,s3cmd ls
查看存储桶内的文件列表,s3cmd ls [s3://<bucket-name>]
上传文件,s3cmd put <source_path> <destination_path>
如果是大文件,会被分片上传
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。