Cloud S3 Lib API
danger
this is a legacy library and thus not supported by Toradex anymore. We recommend that you use the new libraries for all Toradex modules. Please see the Toradex CE Libraries and Code Samples for up-to-date information.
Contains function declarations to be used to access AWS Cloud S3 Services Colibri Modules [PXAxxx, Tegra T20], WinCE 6.0 / 7.0 . More...
Macros | |
#define | AWS_S3_ACCESS_ID_MAX_LENGTH 20 |
20 Characters | |
#define | AWS_S3_SECRET_KEY_MAX_LENGTH 40 |
40 Characters | |
#define | MAX_RESOURCE_PATH_SIZE 1024 |
Max Resource Path String Length allowed. | |
#define | AWS_S3_TIME_STRING_LEN 32 |
AWS Time String Length. | |
#define | AWS_SIGNATURE_STRING_LEN 28 |
Length of Signature String. | |
#define | AWS_LIST_ALL_BUCKET_CHUNK_SIZE (1024 * 32) |
#define | AWS_LIST_BUCKET_CHUNK_SIZE (1024 * 32) |
#define | AWS_DOWNLOAD_FILE_CHUNK_SIZE (1024 * 100) |
#define | AWS_UPLOAD_FILE_CHUNK_SIZE (1024 * 100) |
#define | S3_HANDLE_MEMORY_ALLOCATION (3 * 4) |
#define | S3_HEADER_BUFFER_SIZE 120 |
#define | S3_HTTP_RESPONSE_DATA_BUFFER_SMALL (1 * 1024) |
Functions | |
BOOL | S3Open (HS3 *s3Account, const char *accessId, const char *secretKey, const char *path) |
BOOL | S3ListAllBuckets (HS3 s3Account, char *listData, const char *filePath, DWORD *rawBytes) |
BOOL | S3ListBucket (HS3 s3Account, const char *bucketPath, const char *tmpFileName, DWORD *rawBytes) |
BOOL | FindFirstBucket (const char *filePath, DWORD fileSize, char *dataOut, DWORD dataOutSize, DWORD *pointerToNextFile) |
BOOL | FindFirstFileInBucket (const char *filePath, DWORD fileSize, char *dataOut, DWORD dataOutSize, DWORD *pointerToNextFile) |
BOOL | S3MakeDirectory (HS3 s3Account, const char *directoryPath) |
BOOL | S3RemoveDirectory (HS3 s3Account, const char *directoryPath) |
BOOL | S3DeleteFile (HS3 s3Account, const char *filePath) |
BOOL | S3DownloadFile (HS3 s3Account, const char *sourceFilePath, const char *destinationFilePath, DWORD fileSize, DWORD *bytesDownloaded, CallBackType callBack) |
BOOL | S3UploadFile (HS3 s3Account, const char *sourceFilePath, DWORD sourceFileSize, const char *destinationFilePath, DWORD *bytesUploaded, CallBackType callBack) |
BOOL | S3Close (HS3 *s3Account) |
Detailed Description
Contains function declarations to be used to access AWS Cloud S3 Services Colibri Modules [PXAxxx, Tegra T20], WinCE 6.0 / 7.0 .
- Copyright
- Copyright (c) 2012 Toradex AG [Software License Agreement]
- Author:
- agp
- Version
- Rev:
- 1154
- Date
- Date:
- 2012-11-08 19:56:19 +0530 (Thu, 08 Nov 2012)
Function Documentation
BOOL FindFirstBucket | ( | const char * | filePath, |
DWORD | fileSize, | ||
char * | dataOut, | ||
DWORD | dataOutSize, | ||
DWORD * | pointerToNextFile | ||
) |
Finds Bucket details one by one from list stored in a local file
File should be initialized by calling S3ListAllBuckets()
File should be initialized by calling S3ListAllBuckets()
- Parameters
[in] filePath Pointer to the file path string [in] fileSize Size of the file in bytes, this value is received from call to S3ListAllBuckets() in variable rawBytes [out] dataOut Pointer to the memory holding file information: "filename:size of file",
User need to allocate memory to hold data[in] dataOutSize Size of the memory allocated for dataOut [in,out] pointerToNextFile Pointer holds value to next file details, this parameter will be NULL for 1st call
- Return values
TRUE Success FALSE See GetLastError()
BOOL FindFirstFileInBucket | ( | const char * | filePath, |
DWORD | fileSize, | ||
char * | dataOut, | ||
DWORD | dataOutSize, | ||
DWORD * | pointerToNextFile | ||
) |
Finds file inside the bucket one by one, from the bucket list stored in a local file
File should be initialized by calling S3ListBucket()
File should be initialized by calling S3ListBucket()
- Parameters
[in] filePath Pointer to the file path string [in] fileSize Size of the file in bytes, this value is received from call to S3ListBucket() in variable rawBytes [out] dataOut Pointer to the memory holding file information: "filename:size of file", user need to allocate memory to hold data [in] dataOutSize Size of the memory allocated for dataOut [in,out] pointerToNextFile Pointer holds value to next file received from previous call to FindFirstFileInBucket(), this parameter will be NULL for 1st call
- Return values
TRUE Success FALSE See GetLastError()
BOOL S3Close | ( | HS3 * | s3Account | ) |
Deletes already opened s3Account Handle
- Parameters
[in] s3Account Handle returned by call to S3Open()
- Return values
TRUE Success FALSE See GetLastError()
BOOL S3DeleteFile | ( | HS3 | s3Account, |
const char * | filePath | ||
) |
Deletes existing file from a Bucket
- Parameters
[in] s3Account Handle returned by call to S3Open() [in] filePath Pointer to the s3 file path string
- Return values
TRUE Success FALSE See GetLastError() if filePath does not exists, it will report success
BOOL S3DownloadFile | ( | HS3 | s3Account, |
const char * | sourceFilePath, | ||
const char * | destinationFilePath, | ||
DWORD | fileSize, | ||
DWORD * | bytesDownloaded, | ||
CallBackType | callBack | ||
) |
Downloads a file from a bucket to local system
- Parameters
[in] s3Account Handle returned by call to S3Open() [in] sourceFilePath Pointer to the remote/s3 file path string [in] destinationFilePath Pointer to the local file path string [in] fileSize Optional to use, Size of the file to download, user need to find out using call to S3ListAllBuckets()
if doesn't want to use this feature put NULL[out] bytesDownloaded Pointer to the variable which holds number of bytes downloaded [in] callBack Pointer to the function which will be called during download in progress
Function will be called, after every 32KB of data is downloaded
- Return values
TRUE Success FALSE See GetLastError() "+" character is not allowed in sourceFilePath & destinationFilePath
BOOL S3ListAllBuckets | ( | HS3 | s3Account, |
char * | listData, | ||
const char * | filePath, | ||
DWORD * | rawBytes | ||
) |
Lists all the bucket in S3 account List is stored in a local file
- Parameters
[in] s3Account Handle returned by call to S3Open() [out] listData Pointer to the Bucket list
Data will be like "Bucket1Name:CreationDate" User need to allocate sufficient memory to hold the data before using this function
[NULL] if this parameter is set NULL, it will give only noOfBuckets & rawBytes as output
[pointer variable] after knowing number of buckets/number of raw data bytes required to hold bucket list data
User can decide how many bytes are required to allocate for bucket list
User can allocate rawBytes number of bytes[in] filePath Pointer to the file path, in which all bucket list data to be stored. [out] rawBytes Pointer to the variable holding number of bytes required for bucket list data
- Return values
TRUE Success FALSE See GetLastError() User need to check & if file exists, delete the file(filePath) before using the function
BOOL S3ListBucket | ( | HS3 | s3Account, |
const char * | bucketPath, | ||
const char * | tmpFileName, | ||
DWORD * | rawBytes | ||
) |
Lists all the files inside a bucket
List is stored in a local file
List is stored in a local file
- Parameters
[in] s3Account Handle returned by call to S3Open() [in] bucketPath Pointer to the path of the bucket, for example "/awswebdrive1/" [in] tmpFileName Pointer to the local file path string in which list data will be stored [out] rawBytes Pointer to the variable which holds size of file in number of bytes
- Return values
TRUE Success FALSE See GetLastError() User need to check & if file exists, delete the file(filePath) before using the function
BOOL S3MakeDirectory | ( | HS3 | s3Account, |
const char * | directoryPath | ||
) |
Makes new directory in a Bucket
- Parameters
[in] s3Account Handle returned by call to S3Open() [in] directoryPath Pointer to the s3 directory path string
- Return values
TRUE Success FALSE See GetLastError() if existing directory path is given, it will report successful
BOOL S3Open | ( | HS3 * | s3Account, |
const char * | accessId, | ||
const char * | secretKey, | ||
const char * | path | ||
) |
Opens Handle for s3Account
- Parameters
[out] s3Account s3Account Handle [in] accessId Pointer to the aws account Access Id string [20 Characters] [in] secretKey Pointer to the aws account Secret Key [40 Characters] [in] path Pointer to the aws s3 path string
- Return values
TRUE Success FALSE See GetLastError()
BOOL S3RemoveDirectory | ( | HS3 | s3Account, |
const char * | directoryPath | ||
) |
Deletes existing directory from a Bucket
- Parameters
[in] s3Account Handle returned by call to S3Open() [in] directoryPath Pointer to the s3 directory path string
- Return values
TRUE Success FALSE See GetLastError() if non existing directory path is given, it will report success
BOOL S3UploadFile | ( | HS3 | s3Account, |
const char * | sourceFilePath, | ||
DWORD | sourceFileSize, | ||
const char * | destinationFilePath, | ||
DWORD * | bytesUploaded, | ||
CallBackType | callBack | ||
) |
Uploads a file to a bucket, existing on a local system
- Parameters
[in] s3Account Handle returned by call to S3Open() [in] sourceFilePath Pointer to the local file path string [in] sourceFileSize size of the file in bytes (sourceFilePath) [in] destinationFilePath Pointer to the remote/S3 file path string [out] bytesUploaded Pointer to the variable which will holds, number of bytes uploaded [in] callBack Pointer to the function which will be called during upload in progress
Function will be called after, every 32KB of data is uploaded
- Return values
TRUE Success FALSE See GetLastError() "+" character is not allowed in sourceFilePath & destinationFilePath