123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- /*
- * Copyright (C) Alibaba Cloud Computing
- * All rights reserved.
- *
- * 版权所有 (C)阿里云计算有限公司
- */
-
- using System;
- using System.Collections.Generic;
- namespace Aliyun.OSS
- {
- /// <summary>
- /// 指定以某一Object作为上传某分块数据源的请求。
- /// </summary>
- public class UploadPartCopyRequest
- {
- private readonly IList<string> _matchingETagConstraints = new List<string>();
- private readonly IList<string> _nonmatchingETagConstraints = new List<string>();
- /// <summary>
- /// 获取或者设置<see cref="OssObject" />所在<see cref="Bucket" />的名称。
- /// </summary>
- public string TargetBucket { get; private set; }
-
- /// <summary>
- /// 获取或者设置<see cref="OssObject" />的值。
- /// </summary>
- public string TargetKey { get; private set; }
-
- /// <summary>
- /// 获取或设置上传Multipart上传事件的Upload ID。
- /// </summary>
- public string UploadId { get; private set; }
-
- /// <summary>
- /// 获取或设置返回上传分块(Part)的标识号码(Part Number)。
- /// 每一个上传分块(Part)都有一个标识它的号码(范围1~10000)。
- /// 对于同一个Upload ID,该号码不但唯一标识这一块数据,也标识了这块数据在整个文件中的
- /// 相对位置。如果你用同一个Part号码上传了新的数据,那么OSS上已有的这个号码的Part数据将被覆盖。
- /// </summary>
- public int? PartNumber { get; set; }
-
- /// <summary>
- /// 获取或设置返回分块(Part)数据的字节数。
- /// 除最后一个Part外,其他Part最小为5MB。
- /// </summary>
- public long? PartSize { get; set; }
-
- /// <summary>
- /// 获取或设置分块(Part)数据的MD5校验值。
- /// </summary>
- public string Md5Digest { get; set; }
- /// <summary>
- /// 获取或设置拷贝源Object。
- /// </summary>
- public string SourceKey { get; set; }
- /// <summary>
- /// 获取或设置拷贝源Bucket。
- /// </summary>
- public string SourceBucket { get; set; }
- /// <summary>
- /// 获取或设置拷贝源Object的起始位置。
- /// </summary>
- public long? BeginIndex { get; set; }
- /// <summary>
- /// 如果源Object的ETAG值和用户提供的ETAG相等,则执行拷贝操作;
- /// 否则返回412 HTTP错误码(预处理失败)。
- /// </summary>
- public IList<string> MatchingETagConstraints
- {
- get { return _matchingETagConstraints; }
- }
- /// <summary>
- /// 如果源Object的ETAG值和用户提供的ETAG不相等,则执行拷贝操作;
- /// 否则返回412 HTTP错误码(预处理失败)。
- /// </summary>
- public IList<string> NonmatchingETagConstraints
- {
- get { return _nonmatchingETagConstraints; }
- }
- /// <summary>
- /// 如果传入参数中的时间等于或者晚于文件实际修改时间,则正常传输文件,并返回200 OK;
- /// 否则返回412 precondition failed错误
- /// </summary>
- public DateTime? UnmodifiedSinceConstraint { get; set; }
- /// <summary>
- /// 如果源Object自从用户指定的时间以后被修改过,则执行拷贝操作;
- /// 否则返回412 HTTP错误码(预处理失败)。
- /// </summary>
- public DateTime? ModifiedSinceConstraint { get; set; }
- public UploadPartCopyRequest(string targetBucket, string targetKey, string sourceBucket,
- string sourceKey, string uploadId)
- {
- TargetBucket = targetBucket;
- TargetKey = targetKey;
- SourceBucket = sourceBucket;
- SourceKey = sourceKey;
- UploadId = uploadId;
- }
- }
- }
|