对象相关接口 请求参数 参数 类型 说明 是否必要 Bucket string 桶名称 是 Key string 对象key 是 method HttpMethod http请求方法,HTTPGET表示下载,HTTPPUT表示上传 是 expirationInSeconds long long 超时时间(秒) 否,默认7天 返回结果 生成对应的预签名上传 URL,该链接允许用户在指定的时间内直接将对象上传到媒体存储存储桶。 追加写 功能说明 AppendObject可以对桶中的一个对象进行追加写操作,如果该对象已经存在,执行该操作则向文件末尾追加内容,否则将创建对象。 通过Append操作创建的Object类型为Appendable,而通过PutObject操作上传的Object的类型是Normal。对Appendable类型的对象进行普通上传操作之后会覆盖原有对象的内容并且将其类型设置为Normal。 Append操作仅可以在未开启版本控制的桶中执行,如果桶的版本控制状态为启用(Enabled)或者暂停(Suspended)状态将不支持Append操作。 代码示例 cpp bool S3Demo::AppendObject() { const Aws::String filename " "; const Aws::String objectname " "; const Aws::String bucketname " "; // Verify that the file exists. struct stat buffer; if (stat(filename.cstr(), &buffer) 1) { std::cout inputdata Aws::MakeShared ("SampleAllocationTag", filename.cstr(), std::iosbase::in std::iosbase::binary); std::sharedptr appenddata Aws::MakeShared ("SampleAllocationTag", filename.cstr(), std::iosbase::in std::iosbase::binary); std::cout PutObject(request); if (!outcome.IsSuccess()) { std::cout PutObject(request); result outcome.GetResult(); std::cout << "Etag:" << outcome.GetResult().GetETag() << std::endl; return true; } }