最近更新时间:2024-11-20 10:15:23
一般是缓存的原因,先检查是否使用了CDN,刷新CDN,清空本地缓存后,重新请求。
当您需要上传大对象(大于100MB)时,建议通过API/SDK进行分块上传。控制台中内容管理页面中上传的单个对象大小不允许超过512GB,每次上传对象个数不能超过255个,单个上传对象超过阈值,建议使用分块上传接口进行上传。分块传分为三步:
Initiate Multipart Upload 初始化分块上传
Upload Part 上传文件块
Complete Multipart Upload 完成分块上传
详情参见分块上传文档
KS3对象存储允许用户上传同名对象,上传后原对象会被覆盖。用户可以在上传前通过Head Object接口检查对象是否存在。
API返回400 Invalid key,不会覆盖对象。
可以。在POST的表单域设置success_action_redirect,指定成功上传后客户端的重定向url即可,参见: POST Object文档
增加Content-Type请求头用于描述对象内容MIME格式。可以通过SDK设置,参见SDK文档:Java、PHP、Python、Android、IOS、JavaScript、Node.js、C#、C/C++、GO,或者调用PUT Object API、POST Object API来设置Content Type。
在控制台上传对象,可以看到对象的上传进度。也可以通过 KS3 Finder 工具进行上传对象,不仅可以看到对象的上传进度,还可以进行断点续传。也可以通过命令行工具 KS3Util 上传对象,通过命令查看对象的上传进度。
在控制台上传对象时,可以观察到对象的上传进度,可以点击叉号进行取消;使用KS3 Finder图形化工具,可以在“任务管理”窗口,停止和取消上传任务,详见KS3 Finder文档;也可以使用API对分块上传的任务进行终止,详见Abort Multipart Upload API 文档。 若启动上传任务的时候无法终止任务,使用stop 或者 kill 命令。
用户可以使用KS3 Finder图形化工具使用断点续传的功能;也可以利用分块上传的API来实现对象的断点续传;控制台目前不支持对象的断点续传。
用户可以通过Head Object API判断对象是否存在。
Etag说明:
通过PUT/POST上传的对象,对消息内容(不包括头部)计算MD5值,获得128比特位数字,etag=对128比特位进行16进制编码,content-md5=对128比特位进行base64编码;
通过分块上传complete接口返回的Etag只是一串唯一的标识,跟对象内容并无关系。
具体请参考:
检查对象的访问权限是否设置为私密。若KS3-import工具的conf对象中的参数cannedAcl设置为private,那么上传后的对象,只有对象的所有者或者被授予读取权限后才可以访问,因此您必须签名认证通过后才访问该对象。
返回413错误码是因为上传的对象不符合以下限制:
使用普通上传(使用 put objcet API),对象大小不应超过5GB。
使用分块上传,对象小于5MB时,除了最后一块的其他块大小应不小于100KB;对象大于5MB时,除了最后一块的其他块大小应不小于5MB且不大于5GB。
AK/SK(AccessKey和SecretKey)是用来对非公开资源的请求生成签名的,KS3默认不会对使用同一对AK/SK通过不同的IP的请求做访问限制。
SDK支持自动计算签名,需要将AK/SK写入到程序中。若不想带AK/SK,用户可以参照KS3签名格式,自己构造签名。
返回408错误码是因为服务器等候请求时发生超时。数据交互空闲超过60s会触发服务器返回408错误码,建议用户排查自身的限速设置情况。
答:需要在CORS设置中配置Exposed Header,设定允许从应用程序进行访问的响应头部。
解决方法:
登录控制台,选择要上传对象的bucket,进入【空间设置】->【CORS配置】,设置允许跨境请求的域名(Allow Origin)、方法(Method)、请求头(Allow Header),添加Exposed Header,输入“ETag”,点击确认。
注意事项:
配置存储空间CORS策略后,会有2分钟缓存生效时间,不是立即生效。
KS3对象访问地址由BucketName(存储空间名称)、KS3 Endpoint(域名)、Key(对象路径及名称)拼接组成。
格式:http://{bucket}.{endpoint}/{key}。
比如:http://test-bucket.kss.ksyun.com/2018/image.jpg,
该URL中的{bucket}是test-bucket,{endpoint}是kss.ksyun.com,{key}是2018/image.jpg。
*KS3 Endpoint(域名)
Endpoint 表示 KS3 对外服务的访问域名。KS3 以 RESTful API 的形式对外提供服务,支持HTTP/HTTPS协议,当访问不同的 Region 的时候,需要不同的域名。同一个 Region 内网和外网的 Endpoint 也是不同的,请查看Region和域名的对照表。KS3要求存储空间(Bucket)所在的Region要与Endpoint一致。
支持。用户需要在下载对象(GET Object)时带有Accept-Encoding请求头,且请求的对象超过1KB大小。
支持压缩的对象类型包括:text/plain application/x-javascript text/css text/javascript application/javascript text/json text/js text/html text/htm text/xml application/xml application/atom+xml application/xml+rss application/xhtml+xml application/xml-dtd ,需要在上传对象时,在请求头Content-Type中指明。
举例如下:
在客户端发出的HTTP请求中公布压缩方案列表:
Accept-Encoding: gzip, deflate
服务器响应所使用的方案,由Content-Encoding响应 header
Content-Encoding: gzip
KS3提供包括API、SDK、工具、控制台等丰富的上传或下载方式,您可以根据实际业务需要自由选择,详细使用方式请见:https://docs.ksyun.com/documents/860
纯净模式