3.6.6. Swift에서 오브젝트 복사
오브젝트를 복사하면 오브젝트의 서버 측 복사본을 만들 수 있으므로 이를 다운로드하여 다른 컨테이너로 업로드할 필요가 없습니다. 한 오브젝트의 콘텐츠를 다른 오브젝트에 복사하려면 PUT
요청 또는 COPY
요청을 API 버전, 계정, 컨테이너 이름으로 만들 수 있습니다.
PUT
요청의 경우 요청에 대상 컨테이너 및 오브젝트 이름을 사용하고 요청 헤더에 소스 컨테이너와 오브젝트를 사용합니다.
복사
요청의 경우 요청에서 소스 컨테이너와 오브젝트를 사용하고 요청 헤더에서 대상 컨테이너와 오브젝트를 사용합니다. 컨테이너에 오브젝트를 복사하려면 쓰기 권한이 있어야 합니다. 대상 오브젝트 이름은 컨테이너 내에서 고유해야 합니다. 요청은 멱등이 아니므로 고유한 이름을 사용하지 않는 경우 요청은 대상 오브젝트를 업데이트합니다. 오브젝트 이름에 pseudo-hierarchical 구문을 사용하여 대상 오브젝트를 다른 pseudo-hierarchical 디렉터리에 있는 경우 동일한 이름의 소스 오브젝트와 구분할 수 있습니다. 요청에 액세스 제어 헤더 및 메타데이터 헤더를 포함할 수 있습니다.
구문
PUT /AP_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1 X-Copy-From: TENANT:SOURCE_CONTAINER/SOURCE_OBJECT Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
또는 다음을 수행합니다.
구문
COPY /AP_VERSION/ACCOUNT/TENANT:SOURCE_CONTAINER/SOURCE_OBJECT HTTP/1.1 Destination: TENANT:DEST_CONTAINER/DEST_OBJECT
이름 | 설명 | 유형 | 필수 항목 |
---|---|---|---|
|
| 문자열 |
예, |
|
대상 컨테이너/오브젝트 경로를 정의하는 | 문자열 |
예, |
|
소스 오브젝트의 | 날짜 | 없음 |
|
소스 오브젝트의 | 날짜 | 없음 |
| 요청에 있는 ETag가 소스 오브젝트의 ETag와 일치하는 경우에만 복사합니다. | etag. | 없음 |
| 요청에 있는 ETag가 소스 오브젝트의 ETag와 일치하지 않는 경우에만 복사합니다. | etag. | 없음 |