libs3  trunk
S3PutProperties Struct Reference

#include <libs3.h>

Data Fields

const char * contentType
 
const char * md5
 
const char * cacheControl
 
const char * contentDispositionFilename
 
const char * contentEncoding
 
int64_t expires
 
S3CannedAcl cannedAcl
 
int metaDataCount
 
const S3NameValuemetaData
 
char useServerSideEncryption
 

Detailed Description

S3PutProperties is the set of properties that may optionally be set by the user when putting objects to S3. Each field of this structure is optional and may or may not be present.

Field Documentation

const char* S3PutProperties::contentType

If present, this is the Content-Type that should be associated with the object. If not provided, S3 defaults to "binary/octet-stream".

const char* S3PutProperties::md5

If present, this provides the MD5 signature of the contents, and is used to validate the contents. This is highly recommended by Amazon but not required. Its format is as a base64-encoded MD5 sum.

const char* S3PutProperties::cacheControl

If present, this gives a Cache-Control header string to be supplied to HTTP clients which download this

const char* S3PutProperties::contentDispositionFilename

If present, this gives the filename to save the downloaded file to, whenever the object is downloaded via a web browser. This is only relevent for objects which are intended to be shared to users via web browsers and which is additionally intended to be downloaded rather than viewed.

const char* S3PutProperties::contentEncoding

If present, this identifies the content encoding of the object. This is only applicable to encoded (usually, compressed) content, and only relevent if the object is intended to be downloaded via a browser.

int64_t S3PutProperties::expires

If >= 0, this gives an expiration date for the content. This information is typically only delivered to users who download the content via a web browser.

S3CannedAcl S3PutProperties::cannedAcl

This identifies the "canned ACL" that should be used for this object. The default (0) gives only the owner of the object access to it.

int S3PutProperties::metaDataCount

This is the number of values in the metaData field.

const S3NameValue* S3PutProperties::metaData

These are the meta data to pass to S3. In each case, the name part of the Name - Value pair should not include any special S3 HTTP header prefix (i.e., should be of the form 'foo', NOT 'x-amz-meta-foo').

char S3PutProperties::useServerSideEncryption

This a boolean value indicating whether or not the object should be stored by Amazon S3 using server-side encryption, wherein the data is encrypted by Amazon before being stored on permanent medium. Server-side encryption does not affect the data as it is sent to or received by Amazon, the encryption is applied by Amazon when objects are put and then de-encryption is applied when the objects are read by clients. If this value is 0, then server-side encryption is not used; if this value is non-zero, then server-side encryption is used. Note that the encryption status of the object can be checked by ensuring that the put response has the usesServerSideEncryption flag set.


The documentation for this struct was generated from the following file: