CDN77 Object Storage API
API endpoint format - https://{region}.cdn77-storage.com
Common request headers
Name | Description |
---|---|
Authorization | The authorization details for the request in either the AWS Signature Version 4 or AWS Signature Version 2 format |
Content-Length | The length in bytes of the request body. Required with PUT requests containing an XML body. |
Content-Type | The MIME type of the request body (e.g. text/plain). |
Host | The target host for the request {region}.cdn77-storage.com or {bucket}.{region}.cdn77-storage.com |
x-amz-content-sha256 | The SHA256 hash of the request payload. Required when using AWS Signature Version 4 for authentication. |
x-amz-date | The current date and time date in Coordinated Universal Time (UTC) using the ISO 8601 format: %Y%m%dT%H%M%SZ (e.g. 20230324T142155Z) |
Bucket Operations
List Bucket
Returns a list of buckets created by the user making the request. It returns only buckets created by an authenticated user. You cannot make an anonymous request.
Syntax
GET / HTTP/1.1 Host: {region}.cdn77-storage.com
Response Entities
Name | Description |
---|---|
Buckets string | Container for list of buckets. |
Bucket | Container for bucket information. |
Name string | Bucket name. |
CreationDate | UTC time when the bucket was created. |
Owner | A container for the bucket owner's ID and DisplayName. |
ID string | The bucket owner's ID. |
DisplayName string | The bucket owner's display name. |
Example
GET / HTTP/1.1
Host: us-1.cdn77-storage.com
Authorization: AWS4-HMAC-SHA256 Credential=THS6EFN26FQNT309VG1/20230324/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=4fc9ee550b7b05a7209b3e41f439ed99a85b586ca0be1c29c39694b57114d383
X-Amz-Content-Sha256: e3b0c9afbf4c8996fb92427ae41e464944298fc1c14b934ca495991b7852b855
X-Amz-Date: 20230324T142155Z
HTTP/2 200
date: Thu, 30 Mar 2023 07:13:12 GMT
content-type: application/xml
vary: Accept-Encoding
x-amz-request-id: tx000003473a1aad527f587-0064253688-1f840d3-nyc
server: CDN77-Fast
x-77-nzt: AZySOhayJmMA
x-77-nzt-ray: ffffffff5b02bfc688362564ac52212d
<?xml version="1.0" encoding="UTF-8"?>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
<DisplayName>John Smith</DisplayName>
</Owner>
<Buckets>
<Bucket>
<Name>mypictures</Name>
<CreationDate>2023-03-14T14:03:08.831Z</CreationDate>
</Bucket>
<Bucket>
<Name>videos</Name>
<CreationDate>2023-03-29T06:42:58.603Z</CreationDate>
</Bucket>
</Buckets>
</ListAllMyBucketsResult>
Create a Bucket
When you create a bucket you become the bucket owner. You cannot make an anonymous request.
PUT / HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Parameters:
Description | |
---|---|
x-amz-acl | private, public-read, public-read-write, authenticated-read |
x-amz-bucket-object-lock-enabled | true, false |
Request Entities:
Description | |
---|---|
CreateBucketConfiguration | A container for the bucket configuration. |
LocationConstraint string | Name of the cluster region. |
HTTP Response
If the bucket name is unique, within constraints and unused, the operation will succeed.
If a bucket with the same name already exists and the user is the bucket owner, the operation will succeed.
If the bucket name is already in use, the operation will fail.
HTTP code | Description |
---|---|
409 | BucketAlreadyExists |
Example:
<CreateBucketConfiguration>
<LocationConstraint>us-1</LocationConstraint>
</CreateBucketConfiguration>
Delete Bucket
Deletes a bucket. You can reuse bucket names following successful bucket removal.
DELETE / HTTP/1.1
Host: Host: {bucket}.{region}.cdn77-storage.com
HTTP Response:
HTTP Code | Description |
---|---|
204 | No content - bucket removed |
409 | BucketNotEmpty - Please remove all objects before removing. |
Get Bucket
Returns a list of bucket objects.
GET /?max-keys=25 HTTP/1.1
Host: Host: {bucket}.{region}.cdn77-storage.com
Parameters:
Description | |
---|---|
prefix string | Only returns objects that contain the specified prefix. |
delimiter string | The delimiter between the prefix and the rest of the object name. |
marker string | A beginning index for the list of objects returned. |
max-keys integer | The maximum number of keys to return. Default is 1000. |
allow-unordered boolean | Non-standard extension. Allows results to be returned unordered. Cannot be used with delimiter. |
HTTP Response:
HTTP Code | Description |
---|---|
200 | OK - Bucket retrieved |
404 | NoSuchBucket - No bucket by that name under your account. |
Bucket Response Entities:
Description | |
---|---|
ListBucketResult | The container for the list of objects. |
Name string | The name of the bucket whose contents will be returned. |
Prefix string | A prefix for the object keys. |
Marker string | A beginning index for the list of objects returned. |
MaxKeys integer | The maximum number of keys returned. |
Delimiter string | If set, objects with the same prefix will appear in the CommonPrefixes list. |
IsTruncated boolean | If true, only a subset of the bucket's contents were returned. |
CommonPrefixes | If multiple objects contain the same prefix, they will appear in this container. |
Object Response Entities
The ListBucketResult contains objects, where each object is within a Contents container.
Description | |
---|---|
Contents | A container for the object. |
Key string | The object's key. |
LastModified | The object's last-modified date/time. |
ETag string | An MD-5 hash of the object. (entity tag) |
Size integer | The object's size. |
StorageClass string | Should always return STANDARD. |
Type string | Appendable or Normal. |
Example Response
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult>
<Name>mypictures</Name>
<Prefix></Prefix>
<MaxKeys>25</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>Flowers/</Key>
<LastModified>2023-03-20T14:05:47.832Z</LastModified>
<ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
<Size>0</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
<DisplayName>John Smith</DisplayName>
</Owner>
<Type>Normal</Type>
</Contents>
<Contents>
<Key>Flowers/cover.jpg</Key>
<LastModified>2023-03-20T14:07:26.605Z</LastModified>
<ETag>"a5a35333ad675a15fe03b9b939e55975"</ETag>
<Size>58292</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
<DisplayName>John Smith</DisplayName>
</Owner>
<Type>Normal</Type>
</Contents>
<Contents>
<Key>wow2.png</Key>
<LastModified>2023-03-21T10:52:44.237Z</LastModified>
<ETag>"8b022b20c5dda80dbea3e23b3bd7c61c"</ETag>
<Size>889608</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
<DisplayName>John Smith</DisplayName>
</Owner>
<Type>Normal</Type>
</Contents>
<Marker></Marker>
</ListBucketResult>
Get bucket location
Retrieves the bucket's region. The user must be the bucket owner or have the s3:GetBucketLocation policy.
GET /?location HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Response Entities
Description | |
---|---|
LocationConstraint string | The region where bucket resides, empty string for default region. |
Example response
<?xml version="1.0" encoding="UTF-8"?>
<LocationConstraint>us-1</LocationConstraint>
Get Bucket ACL
Retrieves the bucket access control list. The user must be the bucket owner or to have been granted READ_ACP permission on the bucket.
GET /?acl HTTP/1.1
Host: Host: {bucket}.{region}.cdn77-storage.com
Response Entities
Description | |
---|---|
AccessControlPolicy | A container for the response. |
AccessControlList | A container for the ACL information. |
Owner | A container for the bucket owner's ID and DisplayName. |
ID string | The bucket owner's ID. |
DisplayName string | The bucket owner's display name. |
Grant | A container for Grantee and Permission. |
Grantee | A container for the DisplayName and ID of the user receiving a grant of permission. |
Permission string | The permission given to the Grantee bucket. |
Example Response
<?xml version="1.0" encoding="UTF-8"?>
<AccessControlPolicy>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
<DisplayName>John Smith</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
<DisplayName>John Smith</DisplayName>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
PUT Bucket ACL
Sets access control to an existing bucket. The user must be the bucket owner or to have been granted WRITE_ACP permission on the bucket.
PUT /?acl HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Entities
Description | |
---|---|
AccessControlPolicy | A container for the request. |
AccessControlList | A container for the ACL information. |
Owner | A container for the bucket owner's ID and DisplayName. |
ID string | The bucket owner's ID. |
DisplayName string | The bucket owner's display name. |
Grant | A container for Grantee and Permission. |
Grantee | A container for the DisplayName and ID of the user receiving a grant of permission. |
Permission string | The permission given to the Grantee bucket. |
Example
<AccessControlPolicy>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
<URI>http://acs.amazonaws.com/groups/global/AllUsers</URI>
</Grantee>
<Permission>READ</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
Get Bucket CORS
Retrieves the bucket Cross-Origin Resource Sharing (CORS) configuration. The user must be the bucket owner or to have been granted s3:GetBucketCORS permission on the bucket.
GET /?cors HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Response Entries
Description | |
---|---|
CORSConfiguration | A container for the response. |
CORSRule | A container for the CORS information |
AllowedHeader string | Headers that are specified in the Access-Control-Request-Headers header |
AllowedMethod string | An HTTP method that you allow the origin. GET, PUT, HEAD, POST, and DELETE |
AllowedOrigin string | One or more origins you want customers to be able to access the bucket from. |
Example Response
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Put Bucket CORS
Sets Cross-Origin Resource Sharing (CORS) configuration on the bucket. The user must be the bucket owner or to have been granted s3:PutBucketCORS permission on the bucket.
PUT /?cors HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Entries
Description | |
---|---|
CORSConfiguration | A container for the request. |
CORSRule | A container for the CORS information |
AllowedHeader string | Headers that are specified in the Access-Control-Request-Headers header |
AllowedMethod string | An HTTP method that you allow the origin. GET, PUT, HEAD, POST, and DELETE |
AllowedOrigin string | One or more origins you want customers to be able to access the bucket from. |
Example
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSConfiguration>
Get Bucket Website
Retrieves the bucket website configuration. The user must be the bucket owner or to have been granted s3:GetBucketWebsite permission on the bucket.
GET /?website HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Response Entries
Description | |
---|---|
WebsiteConfiguration | A container for the response. |
IndexDocument | A container for the suffix. |
Suffix string | Specifies the index document suffix. |
ErrorDocument | A container for the key. |
Key string | Object key name of the error document that will be used for 4XX errors coming from the bucket. |
RoutingRules | Container for Condition and Redirect. |
Condition | Used for describing the condition that needs to be met for the redirect to apply. |
HttpErrorCodeReturnedEquals string | HTTP error code when the redirect is applied. |
KeyPrefixEquals string | The object key name prefix when the redirect is applied. |
Redirect | Container for redirect information. |
HostName string | The host to redirect. |
HttpRedirectCode string | The HTTP code to use on redirect. |
Protocol string | Protocol to use for the redirects. HTTP or HTTPS |
ReplaceKeyPrefixWith string | The object key prefix to redirect to. |
ReplaceKeyWith string | The object key to use on redirect. |
Example Response
<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
</WebsiteConfiguration>
Put Bucket Website
Sets the bucket website configuration. The user must be the bucket owner or to have been granted s3:PutBucketWebsite permission on the bucket.
PUT /?website HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Entries
Description | |
---|---|
WebsiteConfiguration | A container for the request. |
IndexDocument | A container for the suffix. |
Suffix string | Specifies the index document suffix. |
ErrorDocument | A container for the key. |
Key string | Object key name of the error document that will be used for 4XX errors coming from the bucket. |
RoutingRules | Container for Condition and Redirect. |
Condition | Used for describing the condition that needs to be met for the redirect to apply |
HttpErrorCodeReturnedEquals string | HTTP error code when the redirect is applied. |
KeyPrefixEquals string | The object key name prefix when the redirect is applied. |
Redirect | Container for redirect information. |
HostName string | The host to redirect. |
HttpRedirectCode string | The HTTP code to use on redirect. |
Protocol string | Protocol to use for the redirects. HTTP or HTTPS. |
ReplaceKeyPrefixWith string | The object key prefix to redirect to. |
ReplaceKeyWith string | The object key to use on redirect. |
Example
<WebsiteConfiguration xmlns='http://s3.amazonaws.com/doc/2006-03-01/'>
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>error.html</Key>
</ErrorDocument>
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>flowers/</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>img/flowers/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
</WebsiteConfiguration>
Get Bucket Policy
Returns the policy of the specified bucket. The user must be the bucket owner or to have been granted s3:GetBucketPolicy permission on the bucket.
GET /?policy HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Example Response in JSON format
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam:::user/cdn77-mypictures"]
},
"Action": "s3:GetObject",
"Resource": ["arn:aws:s3:::mypictures/*"]
}
]
}
Put Bucket Policy
Sets the bucket policy of the specified bucket. The user must be the bucket owner or to have been granted s3:PutBucketPolicy permission on the bucket.
PUT /?policy HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Limitations
At the moment we support only the following actions to be set on the bucket:
s3:AbortMultipartUpload
s3:CreateBucket
s3:DeleteBucketPolicy
s3:DeleteBucket
s3:DeleteBucketWebsite
s3:DeleteObject
s3:DeleteObjectVersion
s3:GetBucketAcl
s3:GetBucketCORS
s3:GetBucketLocation
s3:GetBucketPolicy
s3:GetBucketTagging
s3:GetBucketVersioning
s3:GetBucketWebsite
s3:GetLifecycleConfiguration
s3:GetObjectAcl
s3:GetObject
s3:GetObjectVersionAcl
s3:GetObjectVersion
s3:IPAddress
s3:NotIpAddress
s3:ListAllMyBuckets
s3:ListBucketMultipartUploads
s3:ListBucket
s3:ListBucketVersions
s3:ListMultipartUploadParts
s3:PutBucketAcl
s3:PutBucketCORS
s3:PutBucketPolicy
s3:PutBucketWebsite
s3:PutLifecycleConfiguration
s3:PutObjectAcl
s3:PutObject
s3:PutObjectVersionAcl
s3:RestoreObject
Get Bucket Lifecycle
Returns information about the lifecycle rules configured on the bucket. The user needs to be the bucket owner or to have been granted s3:GetLifecycleConfiguration permission on the bucket.
GET /?lifecycle HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Description | |
---|---|
Rule | A container holding elements with information about a singe lifecycle rule. |
ID string | A unique string identifying the rule. It may contain up to 255 characters including spaces. |
Status string | A string that specifies whether or not the lifecycle rule will be acted upon. The only valid values are Enabled or Disabled. |
Prefix string | A string specifying the objects to which the rule will be applied. When provided, only objects whose keys begin with the prefix will be acted upon. If empty or not present, all object in the bucket will be affected. |
Expiration | When present, matching objects are expired and automatically deleted. This container will specify either a Date or Days element. |
Days integer | An integer specifying the number of days after an object’s creation until the rule takes effect. |
Date | A date in ISO 8601 format specifying the day that the rule takes effect. The action will be run at midnight UTC. |
AbortIncompleteMultipartUpload | When present, incomplete multipart uploads of matching objects will be removed. This container will specify a DaysAfterInitiation element. |
DaysAfterInitiation integer | An integer specifying the number of days after an incomplete multipart upload was initiated until the rule takes effect. |
Example Response
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<ID>Expire old project versions</ID>
<Prefix>project/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>30</Days>
</Expiration>
</Rule>
<Rule>
<ID>Remove uncompleted uploads</ID>
<Status>Enabled</Status>
<Prefix/>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>1</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>
Put Bucket Lifecycle
Gives the ability to set the lifecycle configuration on the bucket. The user needs to be the bucket owner or to have been granted s3:PutLifecycleConfiguration permission on the bucket.
PUT /?lifecycle HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Entries
Description | |
---|---|
Rule | A container holding elements with information about a singe lifecycle rule. |
ID string | A unique string identifying the rule. It may contain up to 255 characters including spaces. |
Status string | A string that specifies whether or not the lifecycle rule will be acted upon. The only valid values are Enabled or Disabled. |
Prefix string | A string specifying the objects to which the rule will be applied. When provided, only objects whose keys begin with the prefix will be acted upon. If empty or not present, all object in the bucket will be affected. |
Expiration | When present, matching objects are expired and automatically deleted. This container will specify either a Date or Days element. |
Days integer | An integer specifying the number of days after an object’s creation until the rule takes effect. |
Date | A date in ISO 8601 format specifying the day that the rule takes effect. The action will be run at midnight UTC. |
AbortIncompleteMultipartUpload | When present, incomplete multipart uploads of matching objects will be removed. This container will specify a DaysAfterInitiation element. |
DaysAfterInitiation integer | An integer specifying the number of days after an incomplete multipart upload was initiated until the rule takes effect. |
Example response
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Rule>
<ID>Expire old project versions</ID>
<Prefix>project/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>30</Days>
</Expiration>
</Rule>
<Rule>
<ID>Remove uncompleted uploads</ID>
<Status>Enabled</Status>
<Prefix/>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>1</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>
Put Object
Adds an object to a bucket. You must have write permissions on the bucket to perform this operation.
PUT /{object} HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Headers
Description | |
---|---|
content-md5 string | A base64 encoded MD-5 hash of the message. |
content-type | Any standard MIME type. Default: binary/octet-stream |
x-amz-meta-<...> string | User metadata. Stored with the object. |
x-amz-acl | private, public-read, public-read-write, authenticated-read |
Copy Object
To copy an object, use PUT and specify a destination bucket and the object name.
PUT /{dest-bucket}/{dest-object} HTTP/1.1
x-amz-copy-source: {source-bucket}/{source-object}
Host: {region}.cdn77-storage.com
Request Headers
Description | |
---|---|
x-amz-copy-source required | The source bucket name + object name. Format: {bucket}/{obj} |
x-amz-acl | A canned ACL - private, public-read, public-read-write, authenticated-read |
x-amz-copy-if-modified-since | Copies only if modified since the set timestamp. |
x-amz-copy-if-unmodified-since | Copies only if unmodified since the set timestamp. |
x-amz-copy-if-match | Copies only if object ETag matches set ETag. |
x-amz-copy-if-none-match | Copies only if object ETag doesn't match. |
Response Entities
Description | |
---|---|
CopyObjectResult | A container for the response elements. |
LastModified | The last modified date of the source object. |
Etag string | The ETag of the new object. |
Remove Object
Removes an object. Requires WRITE permission set on the containing bucket.
DELETE /{object} HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Get Object
Retrieves an object from a bucket.
GET /{object} HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Headers
Description | |
---|---|
range | The range of the object to retrieve. Range: bytes=beginbyte-endbyte |
if-modified-since | Gets only if modified since the set timestamp. |
if-unmodified-since | Gets only if not modified since the set timestamp. |
if-match | Gets only if object ETag matches ETag. |
if-none-match | Gets only if object ETag matches ETag. |
Response Headers
Description | |
---|---|
Content-Range | Data range, will only be returned if the range header field was specified in the request |
Get Object Info
Returns information about object. This request will return the same header information as with the Get Object request, but will include the metadata only, not the object data payload.
HEAD /{object} HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Headers
Description | |
---|---|
range | The range of the object to retrieve. Range: bytes=beginbyte-endbyte |
if-modified-since | Gets only if modified since the set timestamp. |
if-unmodified-since | Gets only if not modified since the set timestamp. |
if-match | Gets only if object ETag matches ETag. |
if-none-match | Gets only if object ETag matches ETag. |
Example response
HTTP/2 200
date: Thu, 30 Mar 2023 09:34:26 GMT
content-type: image/jpeg
content-length: 165457
last-modified: Wed, 29 Mar 2023 06:50:19 GMT
x-rgw-object-type: Normal
etag: "4b063c1aba9cbe12447dccbfc2c78436"
x-amz-storage-class: STANDARD
x-amz-request-id: tx000007829dd44a8560872-00642557a2-1f840a2-nyc
server: CDN77-Fast
x-77-nzt: AZySOhathUoA
x-77-nzt-ray: ffffffff5602ebc6a25725643406662c
accept-ranges: bytes
Get Object ACL
GET /{object}?acl HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Response Entities
Description | |
---|---|
AccessControlPolicy | A container for the response. |
AccessControlList | A container for the ACL information. |
Owner | A container for the object owner's ID and DisplayName. |
ID string | The object owner's ID. |
DisplayName string | The object owner's display name. |
Grant | A container for Grantee and Permission. |
Grantee | A container for the DisplayName and ID of the user receiving a grant of permission. |
Permission string | The permission given to the Grantee object. |
<AccessControlPolicy>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
Set Object ACL
PUT /{object}?acl
Host: {bucket}.{region}.cdn77-storage.com
Request Entities
Description | |
---|---|
AccessControlPolicy | A container for the request. |
AccessControlList | A container for the ACL information. |
Owner | A container for the object owner's ID and DisplayName. |
ID string | The object owner's ID. |
DisplayName string | The object owner's display name. |
Grant | A container for Grantee and Permission. |
Grantee | A container for the DisplayName and ID of the user receiving a grant of permission. |
Permission string | The permission given to the Grantee object. |
Example
<AccessControlPolicy>
<Owner>
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>946570e-8532-4f3b-af51-9ak7f650d6c2</ID>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
<URI>http://acs.amazonaws.com/groups/global/AllUsers</URI>
</Grantee>
<Permission>READ</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
Initiate Multipart Upload
Initiate a multipart upload process.
POST /{object}?uploads
Host: {bucket}.{region}.cdn77-storage.com
Description | |
---|---|
Request Headers string | A base64 encoded MD-5 hash of the message. |
content-type | A standard MIME type. Default: binary/octet-stream |
x-amz-meta-<...> string | User metadata. Stored with the object. |
x-amz-acl | A canned ACL. - private, public-read, public-read-write, authenticated-read |
Response Entities
Description | |
---|---|
InitiatedMultipartUploadsResult | A container for the results. |
Bucket string | The bucket that will receive the object contents. |
Key string | The key specified by the key request parameter (if any). |
UploadId string | The ID specified by the upload-id request parameter identifying the multipart upload (if any). |
Example Response
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult>
<Bucket>mypictures</Bucket>
<Key>new-object</Key>
<UploadId>KQQVhX6q5fn94qGsMy8vPB8Hd5DQJ2oL2MrnYK6z</UploadId>
</InitiateMultipartUploadResult>
Multipart Upload Part
PUT /{object}?partNumber=&uploadId= HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
HTTP Response
The following HTTP response may be returned:
HTTP Code | Description |
---|---|
404 | NoSuchUpload - Specified upload-id does not match any initiated upload on this object |
List Multipart Upload Parts
GET /{object}?uploadId=123 HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Response Entities
Description | |
---|---|
ListPartsResult | A container for the results. |
Bucket string | The bucket that will receive the object contents. |
Key string | The key specified by the key request parameter (if any). |
UploadId string | The ID specified by the upload-id request parameter identifying the multipart upload (if any). |
Initiator | Contains the ID and DisplayName of the user who initiated the upload. |
ID string | The initiator's ID. |
DisplayName string | The initiator's display name. |
Owner | A container for the ID and DisplayName of the user who owns the uploaded object. |
StorageClass string | The method used to store the resulting object. STANDARD or REDUCED_REDUNDANCY |
PartNumberMarker string | The part marker to use in a subsequent request if IsTruncated is true. Precedes the list. |
NextPartNumberMarker string | The next part marker to use in a subsequent request if IsTruncated is true. The end of the list. |
MaxParts integer | The max parts allowed in the response as specified by the max-parts request parameter. |
IsTruncated boolean | If true, only a subset of the object's upload contents were returned. |
Part | A container for LastModified, PartNumber, ETag and Size elements. |
LastModified | Date and time at which the part was uploaded. |
PartNumber integer | The identification number of the part. |
ETag string | The part's entity tag. |
Size integer | The size of the uploaded part. |
Complete Multipart Upload
Assembles uploaded parts and creates a new object, thereby completing a multipart upload.
POST /{object}?uploadId= HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com
Request Entities
Description | |
---|---|
CompleteMultipartUpload required | A container consisting of one or more parts. |
Part required | A container for the PartNumber and ETag. |
PartNumber requiredinteger | The identifier of the part. |
ETag requiredstring | The part's entity tag. |
Response Entities
Description | |
---|---|
CompleteMultipartUploadResult | A container for the response. |
Location | URL - The resource identifier (path) of the new object. |
Bucket string | The name of the bucket that contains the new object. |
Key string | The object's key. |
ETag string | The entity tag of the new object. |
Abort Multipart Upload
Aborts multipart upload process.
DELETE /{object}?uploadId= HTTP/1.1
Host: {bucket}.{region}.cdn77-storage.com