libs3
trunk
|
#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 S3NameValue * | metaData |
char | useServerSideEncryption |
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.
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.