The unique name for the account. An
account is also known as the project or
tenant.Shows details for a specified
account and lists containers, sorted by name, in the
account.The sort order for the name is based on a binary comparison, a single built-in
collating sequence that compares string data by using
the SQLite memcmp() function,
regardless of text encoding.This operation does not accept a request
body.Example requests and responses:Show account details and list
containers, and ask for a JSON
response:curl -i
$publicURL?format=json -X GET -H
"X-Auth-Token: $token"See the example response
below.List containers and ask for an XML response:
curl -i $publicURL?format=xml -X GET
-H "X-Auth-Token:
$token"See the example
response
below.The response body returns a list of containers. The
default response (text/plain) returns one
container per line.If you use query parameters to page through a long
list of containers, you have reached the end of the
list if the number of items in the returned list is
less than the request limit value. The
list contains more items if the number of items in the
returned list equals the limit
value.When asking for a list of containers and there
are none, the response behavior changes depending on
whether the request format is text, JSON, or XML.
For a text response, you get a
204, because there is no
content. However, for a JSON or XML response, you get
a 200 with content indicating
an empty array.If the request succeeds, the operation returns one
of these status codes:200.
Success. The response body lists the
containers.204.
Success. The response body shows no
containers. Either the account has no
containers or you are paging through a long
list of names by using the
marker, limit, or
end_marker query parameters,
and you have reached the end of the
list.For an integer value n,
limits the number of results to n.For a string value x,
returns container names that are greater in value than the
specified marker.For a string value x,
returns container names that are less in value than the specified
marker.The response format. Valid values are
json, xml, or
plain. The default is
plain.If you append the format=xml or
format=json query parameter to the
storage account URL, the response shows extended container
information serialized in the specified format.If you append the format=plain query
parameter, the response lists the container names
separated by newlines.Prefix value. Named items in the response begin with this value.Delimiter value, which returns the object names
that are nested in the container.Authentication token.If set to True, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
True is more expensive for the back
end, use it only when it is absolutely
needed.Instead of using the format query
parameter, set this header to
application/json,
application/xml, or
text/xml.HTTP/1.1 200 OK
Content-Length: 96
X-Account-Object-Count: 1
X-Timestamp: 1389453423.35964
X-Account-Meta-Subject: Literature
X-Account-Bytes-Used: 14
X-Account-Container-Count: 2
Content-Type: application/json; charset=utf-8
Accept-Ranges: bytes
X-Trans-Id: tx274a77a8975c4a66aeb24-0052d95365
Date: Fri, 17 Jan 2014 15:59:33 GMT[
{
"count": 0,
"bytes": 0,
"name": "janeausten"
},
{
"count": 1,
"bytes": 14,
"name": "marktwain"
}
]HTTP/1.1 200 OK
Content-Length: 262
X-Account-Object-Count: 1
X-Timestamp: 1389453423.35964
X-Account-Meta-Subject: Literature
X-Account-Bytes-Used: 14
X-Account-Container-Count: 2
Content-Type: application/xml; charset=utf-8
Accept-Ranges: bytes
X-Trans-Id: tx69f60bc9f7634a01988e6-0052d9544b
Date: Fri, 17 Jan 2014 16:03:23 GMT<?xml version="1.0" encoding="UTF-8"?>
<account name="my_account">
<container>
<name>janeausten</name>
<count>0</count>
<bytes>0</bytes>
</container>
<container>
<name>marktwain</name>
<count>1</count>
<bytes>14</bytes>
</container>
</account>
The length of the response body that contains the
list of names. If the operation fails, this value is the
length of the error text in the response
body.The MIME type of the list of names. If the
operation fails, this value is the MIME type of the error
text in the response body.The number of objects in the account.The total number of bytes that are stored in Object
Storage for the account.The number of containers.The custom account metadata item, where
{name} is the name of the metadata
item.One X-Account-Meta-{name} response header
appears for each metadata item (for each
{name}).The secret key value for temporary URLs. If not set,
this header is not returned by this operation.A second secret key value for temporary URLs. If not set,
this header is not returned by this operation.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.The name of the container.The number of objects in the container.The total number of bytes that are stored in Object
Storage for the account.Shows metadata for a specified
account.Metadata for the account includes:Number of containersNumber of objectsTotal number of bytes that are stored
in Object Storage for the
accountBecause the storage system can store large amounts
of data, take care when you represent the total bytes
response as an integer; when possible, convert it to a
64-bit unsigned integer if your platform supports that
primitive type.This operation does not accept a request
body.Do not include metadata headers in this
request.Show account metadata
request:curl -i $publicURL -X
HEAD -H "X-Auth-Token: $token"HTTP/1.1 204 No Content
Content-Length: 0
X-Account-Object-Count: 1
X-Account-Meta-Book: MobyDick
X-Timestamp: 1389453423.35964
X-Account-Bytes-Used: 14
X-Account-Container-Count: 2
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes
X-Trans-Id: txafb3504870144b8ca40f7-0052d955d4
Date: Fri, 17 Jan 2014 16:09:56 GMTIf the account or authentication token is not valid,
the operation returns the 401Unauthorized error code.Authentication token.If set to True, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
True is more expensive for the back
end, use it only when it is absolutely
needed.The number of objects in the account.The number of containers.The total number of bytes that are stored in Object
Storage for the account.The custom account metadata item, where
{name} is the name of the metadata
item.One X-Account-Meta-{name} response header
appears for each metadata item (for each
{name}).The secret key value for temporary URLs. If not set,
this header is not returned by this operation.A second secret key value for temporary URLs. If not set,
this header is not returned by this operation.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.If the operation fails, this value is the MIME type
of the error text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Creates, updates, or deletes
account metadata.To create, update, or delete metadata, use the
X-Account-Meta-{name} header, where
{name} is the name of the metadata
item.Subsequent requests for the same key and value pair
overwrite the previous value.To delete a metadata header, send an empty value for
that particular header, such as for the
X-Account-Meta-Book header. If the
tool you use to communicate with Object Storage, such
as an older version of cURL, does not support empty
headers, send the
X-Remove-Account-Meta-{name}:
arbitrary value header.
For example, X-Remove-Account-Meta-Book:
x. The operation ignores the arbitrary
value.If the container already has other custom metadata
items, a request to create, update, or delete metadata
does not affect those items.This operation does not accept a request
body.Example requests and responses:Create account
metadata:curl -i
$publicURL -X POST -H "X-Auth-Token:
$token" -H "X-Account-Meta-Book: MobyDick"
-H "X-Account-Meta-Subject:
Literature"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx8c2dd6aee35442a4a5646-0052d954fb
Date: Fri, 17 Jan 2014 16:06:19 GMTUpdate account
metadata:curl -i
$publicURL -X POST -H "X-Auth-Token:
$token" -H "X-Account-Meta-Subject:
AmericanLiterature"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx1439b96137364ab581156-0052d95532
Date: Fri, 17 Jan 2014 16:07:14 GMTDelete account
metadata:curl -i
$publicURL -X POST -H "X-Auth-Token:
$token" -H "X-Remove-Account-Meta-Subject:
x"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx411cf57701424da99948a-0052d9556f
Date: Fri, 17 Jan 2014 16:08:15 GMTIf the request succeeds, the operation returns the
204 status code.To confirm your changes, issue a show account
metadata request.Authentication token.The secret key value for temporary URLs.A second secret key value for temporary URLs. The second
key enables you to rotate keys by having an old and new
key active at the same time.The account metadata. The {name} is
the name of metadata item that you want to add, update, or
delete. To delete this item, send an empty value in this
header.You must specify a X-Account-Meta-{name}
header for each metadata item (for each
{name}) that you want to add, update, or
delete.Changes the MIME type for the
object.If set to true, Object Storage guesses
the content type based on the file extension and ignores
the value sent in the Content-Type header, if
present.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.If the operation fails, this value is the MIME type
of the error text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.The unique name for the account. An
account is also known as the project or
tenant.The unique name for the
container.Shows details for a specified
container and lists objects, sorted by name, in the
container.Specify query parameters in the request to filter
the list and return a subset of object names. Omit
query parameters to return the complete list of object
names that are stored in the container, up to 10,000
names. The 10,000 maximum value is configurable. To
view the value for the cluster, issue a GET/info request.Example requests and responses:Show container details for and list objects
in the marktwain container, and
ask for a JSON
response:curl -i
$publicURL/marktwain?format=json -X GET -H
"X-Auth-Token: $token"Show container details for and list objects
in the marktwain container, and
ask for an XML
response:curl -i
$publicURL/marktwain?format=xml -X GET -H
"X-Auth-Token: $token"If you use query parameters to page through a long
list of objects, you have reached the end of the list
if the number of items in the returned list is less
than the request limit value. The list
contains more items if the number of items in the
returned list equals the limit
value.If the request succeeds, the operation returns one
of these status codes:200.
Success. The response body lists the
objects.204.
Success. The response body shows no objects.
Either the container has no objects or you are
paging through a long list of names by using
the marker, limit,
or end_marker query parameters,
and you have reached the end of the
list.If the container does not exist, the
404Not Found error code is
returned.For an integer value n,
limits the number of results to n.For a string value x,
returns container names that are greater in value than the
specified marker.For a string value x,
returns container names that are less in value than the specified
marker.Prefix value. Named items in the response begin with this value.The response format. Valid values are
json, xml, or
plain. The default is
plain.If you append the format=xml or
format=json query parameter to the
storage account URL, the response shows extended container
information serialized in the specified format.If you append the format=plain query
parameter, the response lists the container names
separated by newlines.Delimiter value, which returns the object names
that are nested in the container.For a string value, returns the object names that are nested
in the pseudo path. Equivalent to setting delimiter to /
and prefix to the path with a / at the
end.Authentication token.If set to True, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
True is more expensive for the back
end, use it only when it is absolutely
needed.Instead of using the format query
parameter, set this header to
application/json,
application/xml, or
text/xml.HTTP/1.1 200 OK
Content-Length: 341
X-Container-Object-Count: 2
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Bytes-Used: 26
Content-Type: application/json; charset=utf-8
X-Trans-Id: tx26377fe5fab74869825d1-0052d6bdff
Date: Wed, 15 Jan 2014 16:57:35 GMT[
{
"hash": "451e372e48e0f6b1114fa0724aa79fa1",
"last_modified": "2014-01-15T16:41:49.390270",
"bytes": 14,
"name": "goodbye",
"content_type": "application/octet-stream"
},
{
"hash": "ed076287532e86365e841e92bfc50d8c",
"last_modified": "2014-01-15T16:37:43.427570",
"bytes": 12,
"name": "helloworld",
"content_type": "application/octet-stream"
}
]HTTP/1.1 200 OK
Content-Length: 500
X-Container-Object-Count: 2
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Bytes-Used: 26
Content-Type: application/xml; charset=utf-8
X-Trans-Id: txc75ea9a6e66f47d79e0c5-0052d6be76
Date: Wed, 15 Jan 2014 16:59:35 GMT<?xml version="1.0" encoding="UTF-8"?>
<container name="marktwain">
<object>
<name>goodbye</name>
<hash>451e372e48e0f6b1114fa0724aa79fa1</hash>
<bytes>14</bytes>
<content_type>application/octet-stream</content_type>
<last_modified>2014-01-15T16:41:49.390270</last_modified>
</object>
<object>
<name>helloworld</name>
<hash>ed076287532e86365e841e92bfc50d8c</hash>
<bytes>12</bytes>
<content_type>application/octet-stream</content_type>
<last_modified>2014-01-15T16:37:43.427570</last_modified>
</object>
</container>
The length of the response body that contains the
list of names. If the operation fails, this value is the
length of the error text in the response
body.The number of
objects.The type of ranges that the object accepts.The custom container metadata item, where
{name} is the name of the metadata
item.One X-Container-Meta-{name} response header
appears for each metadata item (for each
{name}).The count of bytes used in
total.The MIME type of the list of names. If the
operation fails, this value is the MIME type of the error
text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.The name of the container.The MD5 checksum value of the object content.The total number of bytes that are stored in Object
Storage for the account.The content type of the object.The date and time when the object was last modified.Creates a container.You do not need to check if a container already
exists before issuing a PUT operation because the
operation is idempotent: It creates a container or
updates an existing container, as appropriate.Example requests and responses:Create a container with no metadata:
curl -i $publicURL/steven -X PUT -H
"Content-Length: 0" -H "X-Auth-Token:
$token"HTTP/1.1 201 Created
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx7f6b7fa09bc2443a94df0-0052d58b56
Date: Tue, 14 Jan 2014 19:09:10 GMTCreate a container with
metadata:curl -i
$publicURL/marktwain -X PUT -H
"X-Auth-Token: $token" -H
"X-Container-Meta-Book:
TomSawyer"HTTP/1.1 201 Created
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx06021f10fc8642b2901e7-0052d58f37
Date: Tue, 14 Jan 2014 19:25:43 GMTAuthentication token.Sets an ACL that grants read access.Sets an ACL that grants write access.Sets the destination for container synchronization. Used
with the secret key indicated in the
X-Container-Sync-Key header. If
you want to stop a container from synchronizing, send a
blank value for the X-Container-Sync-Key header.Sets the secret key for container synchronization. If
you remove the secret key, synchronization is halted.Enables versioning on this container. The value is the
name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header.
To disable versioning, set the header to an empty
string.The container metadata, where {name}
is the name of metadata item.You must specify a X-Container-Meta-{name}
header for each metadata item (for each
{name}) that you want to add or
update.Changes the MIME type for the
object.If set to true, Object Storage guesses
the content type based on the file extension and ignores
the value sent in the Content-Type header, if
present.In combination with Expect: 100-Continue, specify an "If-None-Match: *"
header to query whether the server already has a copy of the object
before any data is sent.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.If the operation fails, this value is the MIME type
of the error text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Deletes an empty container.This operation fails unless the container is empty.
An empty container has no objects.Delete the steven
container:curl -i
$publicURL/steven -X DELETE -H "X-Auth-Token:
$token"If the container does not exist, the response
is:HTTP/1.1 404 Not Found
Content-Length: 70
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx4d728126b17b43b598bf7-0052d81e34
Date: Thu, 16 Jan 2014 18:00:20 GMTIf the container exists and the deletion succeeds,
the response is:HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txf76c375ebece4df19c84c-0052d81f14
Date: Thu, 16 Jan 2014 18:04:04 GMTIf the container exists but is not empty, the
response is:HTTP/1.1 409 Conflict
Content-Length: 95
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx7782dc6a97b94a46956b5-0052d81f6b
Date: Thu, 16 Jan 2014 18:05:31 GMT
<html><h1>Conflict</h1><p>There was a conflict when trying to complete your request.</p></html>Authentication token.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.If the operation fails, this value is the MIME type
of the error text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Creates, updates, or deletes custom
metadata for a container.To create, update, or delete a custom metadata item,
use the X-Container-Meta-{name} header,
where {name} is the name of the metadata
item.Subsequent requests for the same key and value pair
overwrite the previous value.To delete container metadata, send an empty value
for that header, such as for the
X-Container-Meta-Book header. If the
tool you use to communicate with Object Storage, such
as an older version of cURL, does not support empty
headers, send the
X-Remove-Container-Meta-{name}:
arbitrary value header.
For example, X-Remove-Container-Meta-Book:
x. The operation ignores the arbitrary
value.If the container already has other custom metadata
items, a request to create, update, or delete metadata
does not affect those items.This operation does not accept a request
body.Example requests and
responses:Create
container metadata:curl -i
$publicURL/marktwain -X POST -H
"X-Auth-Token: $token" -H
"X-Container-Meta-Author: MarkTwain" -H
"X-Container-Meta-Century:
Nineteenth"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx05dbd434c651429193139-0052d82635
Date: Thu, 16 Jan 2014 18:34:29 GMTUpdate container
metadata:curl -i
$publicURL/marktwain -X POST -H
"X-Auth-Token: $token" -H
"X-Container-Meta-Author:
SamuelClemens"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txe60c7314bf614bb39dfe4-0052d82653
Date: Thu, 16 Jan 2014 18:34:59 GMTDelete container
metadata:curl -i
$publicURL/marktwain -X POST -H
"X-Auth-Token: $token" -H
"X-Remove-Container-Meta-Century:
x"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx7997e18da2a34a9e84ceb-0052d826d0
Date: Thu, 16 Jan 2014 18:37:04 GMTIf the request succeeds, the operation returns the
204 status code.To confirm your changes, issue a show container
metadata request.Authentication token.Sets an ACL that grants read access.Removes the metadata item named
{name}. For example,
X-Remove-Container-Read removes the
X-Container-Read metadata item.Sets an ACL that grants write access.Sets the destination for container synchronization. Used
with the secret key indicated in the
X-Container-Sync-Key header. If
you want to stop a container from synchronizing, send a
blank value for the X-Container-Sync-Key header.Sets the secret key for container synchronization. If
you remove the secret key, synchronization is halted.Enables versioning on this container. The value is the
name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header.
To disable versioning, set the header to an empty
string.Set to any value to disable versioning.The container metadata, where {name}
is the name of metadata item.You must specify a X-Container-Meta-{name}
header for each metadata item (for each
{name}) that you want to add or
update.Sets maximum size of the container, in bytes. Typically
these values are set by an administrator. Returns a 413 response
(request entity too large) when an object PUT operation
exceeds this quota value.Sets maximum object count of the container. Typically
these values are set by an administrator. Returns a 413 response
(request entity too large) when an object PUT operation
exceeds this quota value.Changes the MIME type for the
object.If set to true, Object Storage guesses
the content type based on the file extension and ignores
the value sent in the Content-Type header, if
present.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.If the operation fails, this value is the MIME type
of the error text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Shows container metadata, including
the number of objects and the total bytes of all
objects stored in the container.Show container metadata
request:curl -i
$publicURL/marktwain -X HEAD -H "X-Auth-Token:
$token"HTTP/1.1 204 No Content
Content-Length: 0
X-Container-Object-Count: 1
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Meta-Author: SamuelClemens
X-Container-Bytes-Used: 14
Content-Type: text/plain; charset=utf-8
X-Trans-Id: tx0287b982a268461b9ec14-0052d826e2
Date: Thu, 16 Jan 2014 18:37:22 GMTIf the request succeeds, the operation returns the
204 status code.Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).If set to True, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
True is more expensive for the back
end, use it only when it is absolutely
needed.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.The number of
objects.The type of ranges that the object accepts.The custom container metadata item, where
{name} is the name of the metadata
item.One X-Container-Meta-{name} response header
appears for each metadata item (for each
{name}).Sets maximum size of the container, in bytes. Typically
these values are set by an administrator. Returns a 413 response
(request entity too large) when an object PUT operation
exceeds this quota value.Sets maximum object count of the container. Typically
these values are set by an administrator. Returns a 413 response
(request entity too large) when an object PUT operation
exceeds this quota value.The count of bytes used in
total.The ACL that grants read access. If not set,
this header is not returned by this operation.The ACL that grants write access. If not set,
this header is not returned by this operation.The destination for container synchronization. If not set,
this header is not returned by this operation.The secret key for container synchronization. If not set,
this header is not returned by this operation.Enables versioning on this container. The value is the
name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header.
To disable versioning, set the header to an empty
string.If the operation fails, this value is the MIME type
of the error text in the response body.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.The unique name for the account. An
account is also known as the project or
tenant.The unique name for the
container.The unique name for the
object.Downloads the object content and
gets the object metadata.This operation returns the object metadata in the
response headers and the object content in the
response body.If this is a large object, the response body
contains the concatenated content of the segment
objects. To get the manifest instead of concatenated
segment objects for a static large object, use the
multipart-manifest query
parameter.Example requests and responses:Show object details for the
goodbye object in the
marktwain container:
curl -i $publicURL/marktwain/goodbye
-X GET -H "X-Auth-Token:
$token"HTTP/1.1 200 OK
Content-Length: 14
Accept-Ranges: bytes
Last-Modified: Wed, 15 Jan 2014 16:41:49 GMT
Etag: 451e372e48e0f6b1114fa0724aa79fa1
X-Timestamp: 1389804109.39027
X-Object-Meta-Orig-Filename: goodbyeworld.txt
Content-Type: application/octet-stream
X-Trans-Id: tx8145a190241f4cf6b05f5-0052d82a34
Date: Thu, 16 Jan 2014 18:51:32 GMT
Goodbye World!Show object details for the
goodbye object, which does
not exist, in the janeausten
container:curl -i
$publicURL/janeausten/goodbye -X GET -H
"X-Auth-Token: $token"HTTP/1.1 404 Not Found
Content-Length: 70
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx073f7cbb850c4c99934b9-0052d82b04
Date: Thu, 16 Jan 2014 18:55:00 GMT
<html><h1>Not Found</h1><p>The resource could not be found.</p></html>Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).If set to True, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
True is more expensive for the back
end, use it only when it is absolutely
needed.Used with temporary URLs to sign the request. For
more information about temporary URLs, see
OpenStack Object Storage API v1
Reference
.Used with temporary URLs to specify the expiry time of the signature. For
more information about temporary URLs, see
OpenStack Object Storage API v1
Reference
.If you include the multipart-manifest=get query
parameter and the object is a large object, the
object contents are not returned. Instead, the manifest is
returned in the X-Object-Manifest response
header for dynamic large objects or in the response body
for static large objects.The ranges of content to get.You can use the Range header to get
portions of data by using one or more range
specifications. To specify many ranges, separate the range
specifications with a comma.The types of range specifications are:Byte range
specification. Use
FIRST_BYTE_OFFSET to specify the start of the data
range, and LAST_BYTE_OFFSET to specify the end.
You can omit the LAST_BYTE_OFFSET and if you do,
the value defaults to the offset of the last byte
of data.Suffix byte range
specification. Use LENGTH bytes to
specify the length of the data range.The following forms of the header specify the following
ranges of data:Range: bytes=-5. The last
five bytes.Range: bytes=10-15. The five bytes
of data after a 10-byte offset.Range: bytes=10-15,-5. A multi-part
response that contains the last five bytes and the
five bytes of data after a 10-byte offset. The
Content-Type of the response is
then
multipart/byteranges.Range: bytes=4-6. Bytes 4 to 6
inclusive.Range: bytes=2-2. Byte 2, the third
byte of the data.Range: bytes=6-. Byte 6 and
after.Range: bytes=1-3,2-5. A multi-part
response that contains bytes 1 to 3 inclusive, and
bytes 2 to 5 inclusive. The
Content-Type of the response is
then
multipart/byteranges.See http://www.ietf.org/rfc/rfc2616.txt.In combination with Expect: 100-Continue, specify an "If-None-Match: *"
header to query whether the server already has a copy of the object
before any data is sent.See http://www.ietf.org/rfc/rfc2616.txt.See http://www.ietf.org/rfc/rfc2616.txt.The length of the object content in the response
body, in bytes.The type of ranges that the object accepts.The date and time that the object was created or
the last time that the metadata was
changed.For objects smaller than 5 GB, this value is the
MD5 checksum of the object content. The value is not
quoted.For manifest objects, this value is the MD5 checksum of
the concatenated string of MD5 checksums and ETags for
each of the segments in the manifest, and not the MD5
checksum of the content that was downloaded. Also the
value is enclosed in double-quote characters.You are strongly recommended to compute the MD5 checksum
of the response body as it is received and compare this
value with the one in the ETag header. If they differ, the
content was corrupted, so retry the
operation.The MIME type of the object.If set, the value of the
Content-Encoding metadata.If not set,
this header is not returned by this operation.If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.If not set, this header is not returned by this
operation.If set, the time when the object will be deleted by
the system in the format of a UNIX Epoch
timestamp.If not set,
this header is not returned by this operation.The custom object metadata item, where
{name} is the name of the metadata
item.One X-Object-Meta-{name} response header
appears for each metadata item (for each
{name}).If set, to this is a dynamic large object manifest object.
The value is the container and object name prefix of the segment objects
in the form container/prefix.Set to True if this object is a static
large object manifest object.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Creates a new object with specified
data content and metadata, or replaces an existing
object with specified data content and
metadata.The PUT operation always creates a new object. If
you use this operation on an existing object, you
replace the existing object and metadata rather than
modifying the object. Consequently, this operation
returns a 201 Created status code.If you use this operation to copy a manifest object,
the new object is a normal object and not a copy of
the manifest. Instead it is a concatenation of all the
segment objects. This means that you cannot copy
objects larger than 5 GB.Example requests and responses:Create object:curl -i
$publicURL/janeausten/helloworld.txt -X
PUT -H "Content-Length: 1" -H
"Content-Type: text/html; charset=UTF-8"
-H "X-Auth-Token: $token"HTTP/1.1 201 Created
Last-Modified: Fri, 17 Jan 2014 17:28:35 GMT
Content-Length: 116
Etag: d41d8cd98f00b204e9800998ecf8427e
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx4d5e4f06d357462bb732f-0052d96843
Date: Fri, 17 Jan 2014 17:28:35 GMTReplace object:curl
-i $publicURL/janeausten/helloworld -X PUT
-H "Content-Length: 0" -H "X-Auth-Token:
$token"HTTP/1.1 201 Created
Last-Modified: Fri, 17 Jan 2014 17:28:35 GMT
Content-Length: 116
Etag: d41d8cd98f00b204e9800998ecf8427e
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx4d5e4f06d357462bb732f-0052d96843
Date: Fri, 17 Jan 2014 17:28:35 GMTThe 201 Created status code indicates a
successful write.If the request times out, the operation returns the
408 Request Timeout error
code.The 411 Length Required error code
indicates a missing Transfer-Encoding or
Content-Length request header.If the MD5 checksum of the data that is written to
the object store does not match the optional
ETag value, the operation returns the
422 Unprocessable Entity error
code.If ?multipart-manifest=put, the object is a static
large object manifest and the body contains the
manifest.Used with temporary URLs to sign the request. For
more information about temporary URLs, see
OpenStack Object Storage API v1
Reference
.Used with temporary URLs to specify the expiry time of the signature. For
more information about temporary URLs, see
OpenStack Object Storage API v1
Reference
.Set to specify that this is a dynamic large object manifest object.
The value is the container and object name prefix of the segment objects
in the form container/prefix. You must UTF-8-encode and then
URL-encode the names of the container and prefix before you
include them in this header.Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).Set to the length of the object content. Do not set
if chunked transfer encoding is being
used.Set to chunked to enable chunked transfer
encoding. If used, do not set the
Content-Length header to a non-zero
value.Changes the MIME type for the
object.If set to true, Object Storage guesses
the content type based on the file extension and ignores
the value sent in the Content-Type header, if
present.If set, this is the name of an object used to create the
new object by copying the X-Copy-From object.
The value is in form {container}/{object}.
You must UTF-8-encode and then URL-encode the names of the
container and object before you include them in the
header.Using PUT with X-Copy-From has the same
effect as using the COPY operation to copy an
object.The MD5 checksum value of the request body. For
example, the MD5 checksum value of the object content. You
are strongly recommended to compute the MD5 checksum value
of object content and include it in the request. This
enables the Object Storage API to check the integrity of
the upload. The value is not quoted.If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.If set, the value of the
Content-Encoding metadata.The certain date, in the
format of a UNIX Epoch timestamp, when the
object is removed.Specifies the number of seconds after which the
object is removed. Internally, the Object Storage system
stores this value in the X-Delete-At metadata
item.The object metadata, where {name}
is the name of the metadata item.You must specify a X-Object-Meta-{name}
header for each metadata item (for each
{name}) that you want to add or
update.In combination with Expect: 100-Continue, specify an "If-None-Match: *"
header to query whether the server already has a copy of the object
before any data is sent.The date and time when the object was last modified.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.For objects smaller than 5 GB, this value is the
MD5 checksum of the uploaded object content. The value is
not quoted.If you supplied an ETag request header and
the operation was successful, the values are the
same.If you did not supply an ETag request
header, check the ETag response header value
against the object content you have just uploaded.For static large objects, this value is the MD5 checksum
of the concatenated string of MD5 checksums and ETags for
each of the segments in the manifest, and not the MD5
checksum of the content that was uploaded. Also the value
is enclosed in double-quotes. For dynamic large objects,
the value is the MD5 checksum of the empty
string.The MIME type of the object.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Copies an object to another object
in the object store.You can copy an object to a new object with the same
name. Copying to the same name is an alternative to
using POST to add metadata to an object. With
POST, you must specify all the metadata. With
COPY, you can add additional metadata to the
object.Alternatively, you can use PUT with the
X-Copy-From request header to
accomplish the same operation as the COPY object
operation.The PUT operation always creates a new object. If
you use this operation on an existing object, you
replace the existing object and metadata rather than
modifying the object. Consequently, this operation
returns a 201 Created success
node.If you use this operation to copy a manifest object,
the new object is a normal object and not a copy of
the manifest. Instead it is a concatenation of all the
segment objects. This means that you cannot copy
objects larger than 5 GB in size. All metadata is
preserved during the object copy. If you specify
metadata on the request to copy the object, either
PUT or COPY, the metadata overwrites any
conflicting keys on the target (new) object.Example requests and responses:Copy the goodbye object
from the marktwain container to
the janeausten container:
curl -i $publicURL/marktwain/goodbye
-X COPY -H "X-Auth-Token: $token" -H
"Destination: janeausten/goodbye"HTTP/1.1 201 Created
Content-Length: 0
X-Copied-From-Last-Modified: Thu, 16 Jan 2014 21:19:45 GMT
X-Copied-From: marktwain/goodbye
Last-Modified: Fri, 17 Jan 2014 18:22:57 GMT
Etag: 451e372e48e0f6b1114fa0724aa79fa1
Content-Type: text/html; charset=UTF-8
X-Object-Meta-Movie: AmericanPie
X-Trans-Id: txdcb481ad49d24e9a81107-0052d97501
Date: Fri, 17 Jan 2014 18:22:57 GMTAlternatively, you can use PUT to
copy the goodbye object from the
marktwain container to the
janeausten container. This
request requires a Content-Length
header even if it is set to zero (0).curl -i $publicURL/janeausten/goodbye
-X PUT -H "X-Auth-Token: $token" -H
"X-Copy-From: /marktwain/goodbye" -H
"Content-Length: 0"HTTP/1.1 201 Created
Content-Length: 0
X-Copied-From-Last-Modified: Thu, 16 Jan 2014 21:19:45 GMT
X-Copied-From: marktwain/goodbye
Last-Modified: Fri, 17 Jan 2014 18:22:57 GMT
Etag: 451e372e48e0f6b1114fa0724aa79fa1
Content-Type: text/html; charset=UTF-8
X-Object-Meta-Movie: AmericanPie
X-Trans-Id: txdcb481ad49d24e9a81107-0052d97501
Date: Fri, 17 Jan 2014 18:22:57 GMTWhen several replicas exist, the system copies
from the most recent replica. That is, the COPY
operation behaves as though the
X-Newest header is in the
request.Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).The container and object name of the destination
object in the form of /container/object. You
must UTF-8-encode and then URL-encode the names of the
destination container and object before you include them
in this header.Changes the MIME type for the
object.If set, the value of the
Content-Encoding metadata.If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.The object metadata, where {name}
is the name of the metadata item.You must specify a X-Object-Meta-{name}
header for each metadata item (for each
{name}) that you want to add or
update.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.For a copied object, shows the last modified date and time for the
container and object name from which the new object was copied.For a copied object, shows the container and object name from which the new object was copied.
The value is in form {container}/{object}.The date and time that the object was created or
the last time that the metadata was
changed.The
MD5 checksum of the copied object content. The value is not
quoted.The MIME type of the object.The custom object metadata item, where
{name} is the name of the metadata
item.One X-Object-Meta-{name} response header
appears for each metadata item (for each
{name}).A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Permanently deletes an object from
the object store.You can use the COPY method to copy the object to
a new location. Then, use the DELETE method to
delete the original object.Object deletion occurs immediately at request time.
Any subsequent GET, HEAD, POST, or DELETE
operations return a 404 Not Found error
code.For static large object manifests, you can add the
?multipart-manifest=delete query
parameter. This operation deletes the segment objects
and if all deletions succeed, this operation deletes
the manifest object.Example request and response:Delete the
helloworld object from the
marktwain container:
curl -i
$publicURL/marktwain/helloworld -X DELETE
-H "X-Auth-Token: $token"HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx36c7606fcd1843f59167c-0052d6fdac
Date: Wed, 15 Jan 2014 21:29:16 GMTNormally the DELETE operation does not return a
response body. However, with the
multipart-manifest=delete query
parameter, the response body contains a list of
manifest and segment objects and the status of their
delete operations.If you include the
multipart-manifest=delete query parameter
and the object is a static large object, the segment
objects and the manifest object are deleted. If you omit
the multipart-manifest=delete query parameter
and this is a static large object, the manifest object is
deleted and the segment objects are not deleted.For a bulk delete, the response body looks the same as
it does for a normal bulk delete. In contrast, a plain
object DELETE response has an empty
body.Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.The MIME type of the object.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Shows object metadata.If the Content-Length response header
is non-zero, the example cURL command stalls after it
prints the response headers because it is waiting for
a response body. However, the Object Storage system
does not return a response body for the HEAD
operation.Example requests and
responses:Show
object metadata:curl -i
$publicURL/marktwain/goodbye -X HEAD -H
"X-Auth-Token: $token"HTTP/1.1 200 OK
Content-Length: 14
Accept-Ranges: bytes
Last-Modified: Thu, 16 Jan 2014 21:12:31 GMT
Etag: 451e372e48e0f6b1114fa0724aa79fa1
X-Timestamp: 1389906751.73463
X-Object-Meta-Book: GoodbyeColumbus
Content-Type: application/octet-stream
X-Trans-Id: tx37ea34dcd1ed48ca9bc7d-0052d84b6f
Date: Thu, 16 Jan 2014 21:13:19 GMTIf the request succeeds, the operation returns the
204 status code.Authentication token.Used with temporary URLs to sign the request. For
more information about temporary URLs, see
OpenStack Object Storage API v1
Reference
.Used with temporary URLs to specify the expiry time of the signature. For
more information about temporary URLs, see
OpenStack Object Storage API v1
Reference
.If set to True, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
True is more expensive for the back
end, use it only when it is absolutely
needed.The date and time that the object was created or
the last time that the metadata was
changed.The length of the object content in the response
body, in bytes.HEAD operations do not return content. However,
in this operation the value in the
Content-Length header is not the size of
the response body. Instead it contains the size of the
object, in bytes.The MIME type of the object.For objects smaller than 5 GB, this value is the
MD5 checksum of the object content. The value is not
quoted.For manifest objects, this value is the MD5 checksum of
the concatenated string of MD5 checksums and ETags for
each of the segments in the manifest, and not the MD5
checksum of the content that was downloaded. Also the
value is enclosed in double-quote characters.You are strongly recommended to compute the MD5 checksum
of the response body as it is received and compare this
value with the one in the ETag header. If they differ, the
content was corrupted, so retry the
operation.If set, the value of the
Content-Encoding metadata.If not set,
this header is not returned by this operation.If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.If not set, this header is not returned by this
operation.If set, the time when the object will be deleted by
the system in the format of a UNIX Epoch
timestamp.If not set,
this header is not returned by this operation.If set, to this is a dynamic large object manifest object.
The value is the container and object name prefix of the segment objects
in the form container/prefix.The custom object metadata item, where
{name} is the name of the metadata
item.One X-Object-Meta-{name} response header
appears for each metadata item (for each
{name}).Set to True if this object is a static
large object manifest object.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.Creates or updates object
metadata.To create or update custom metadata, use the
X-Object-Meta-{name} header, where
{name} is the name of the metadata
item.In addition to the custom metadata, you can also
update these system metadata items:
Content-TypeContent-EncodingContent-DispositionX-Delete-At. However you cannot update
other system metadata such as
Content-Length or
Last-Modified.You can use COPY as an alternate to the POST
operation by copying to the same object. With the
POST operation you must specify all metadata items,
whereas with the COPY operation, you need to specify
only changed or additional items.All metadata is preserved during the object copy. If
you specify metadata on the request to copy the
object, either PUT or COPY, the metadata
overwrites any conflicting keys on the target (new)
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 unchanged by the POST request unless you
explicitly supply it in a request header.You can also set the X-Delete-At or
X-Delete-After header to define when
to expire the object.When used as described in this section, the POST
operation creates or replaces metadata. This form of
the operation has no request body. The form POST
feature can also use the POST operation to upload
objects. For more information about form POST see
OpenStack Object Storage API v1
Reference
.Example requests and
responses:Create
object metadata:curl -i
$publicURL/marktwain/goodbye -X POST -H
"X-Auth-Token: $token" -H
"X-Object-Meta-Book:
GoodbyeColumbus"HTTP/1.1 202 Accepted
Content-Length: 76
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txb5fb5c91ba1f4f37bb648-0052d84b3f
Date: Thu, 16 Jan 2014 21:12:31 GMT
<html><h1>Accepted</h1><p>The request is accepted for processing.</p></html>Update object
metadata:curl -i
$publicURL/marktwain/goodbye -X POST -H
"X-Auth-Token: $token" -H
"X-Object-Meta-Book:
GoodbyeOldFriend"HTTP/1.1 202 Accepted
Content-Length: 76
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx5ec7ab81cdb34ced887c8-0052d84ca4
Date: Thu, 16 Jan 2014 21:18:28 GMT
<html><h1>Accepted</h1><p>The request is accepted for processing.</p></html>Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).The object metadata, where {name}
is the name of the metadata item.You must specify a X-Object-Meta-{name}
header for each metadata item (for each
{name}) that you want to add or
update.The certain date, in the
format of a UNIX Epoch timestamp, when the
object is removed.If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.If set, the value of the
Content-Encoding metadata.Specifies the number of seconds after which the
object is removed. Internally, the Object Storage system
stores this value in the X-Delete-At metadata
item.Changes the MIME type for the
object.If set to true, Object Storage guesses
the content type based on the file extension and ignores
the value sent in the Content-Type header, if
present.If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.The MIME type of the object.A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.The transaction date and time.