object - Amazon S3 get list of versions for a file uploaded -
i have turned on versioning option bucket. have uploaded file twice folder in bucket same name, creating 2 revisions of file.
e.g. mybucket/myfile.jpg (revision 1 , revision 2 (current))
i trying use amazons3 .net tools list of versions single file mentioned above. want functionality user able download previous version of uploaded file.
here method have created, able list of files in bucket/folder. not specific file in bucket/folder (i call folder, is key / object in itself).
public string amazons3getobjectversions(guid documentid) { amazons3 s3client = amazons3clientconnection(); getobjectmetadatarequest orequest = new getobjectmetadatarequest(); orequest.bucketname = documentstoragefolder(documentid); // e.g. mybucket orequest.key = documentstoragereference(documentid); // e.g. myfolder/myfile.jpg getobjectmetadataresponse oresponse = s3client.getobjectmetadata(orequest); s3objectversion version = new s3objectversion(); version.bucketname = documentstoragefolder(documentid); version.key = documentstoragereference(documentid); version.isdeletemarker = false; listversionsrequest request = new listversionsrequest(); request.bucketname = documentstoragefolder(documentid); string tmp = documentstoragereference(documentid); string[] tmparr = tmp.split('/'); request.keymarker = tmparr[0]; //request.delimiter = "/"; //request.maxkeys = int.parse(appconfig["max_versions"]); listversionsresponse response = s3client.listversions(request); //response.nextkeymarker = tmparr[1]; response.keymarker = tmparr[1]; list<s3objectversion> versions = new list<s3objectversion>(); versions = response.versions; return versions.tostring(); }
i have tried few of available classes, unable version history single file. (probably missing small)
as mentioned, missing small thing. use prefix of listversionsrequest
e.g.
listversionsrequest request = new listversionsrequest(); request.bucketname = documentstoragefolder(documentid); request.prefix = keyname
kamal
Comments
Post a Comment