summaryrefslogtreecommitdiff
path: root/api-ref
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2018-01-16 11:32:12 -0600
committerMonty Taylor <mordred@inaugust.com>2018-01-16 11:32:12 -0600
commitbc6fb8995123d08e672bdcf55bd35165509d60d9 (patch)
tree15e9b3d6326ea02016eccc729374103d89a797e4 /api-ref
parent909e37151526c43c2e57e3ce7a503cfd3a420122 (diff)
downloadswift-bc6fb8995123d08e672bdcf55bd35165509d60d9.tar.gz
Add a note about the cost of COPY for setting metadata
The pointer to using COPY to the same object as a mechanism to set only a subset of the metadata, it does not mention that doing so results in a full copy of the object in question on the backend. Add a note so it's clear that there is a tradeoff involved. Change-Id: I0c20a4909a6c3ff672f753d26cb9fb2f5f33d1f4
Diffstat (limited to 'api-ref')
-rw-r--r--api-ref/source/storage-object-services.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/api-ref/source/storage-object-services.inc b/api-ref/source/storage-object-services.inc
index 96816997e..d1e5e7868 100644
--- a/api-ref/source/storage-object-services.inc
+++ b/api-ref/source/storage-object-services.inc
@@ -650,6 +650,12 @@ metadata on the request to copy the object, either PUT or COPY ,
the metadata overwrites any conflicting keys on the target (new)
object.
+.. note::
+
+ While using COPY instead of POST allows sending only a subset of
+ the metadata, it carries the cost of reading and rewriting the entire
+ contents of the object.
+
A POST request deletes any existing custom metadata that you added
with a previous PUT or POST request. Consequently, you must specify
all custom metadata in the request. However, system metadata is