Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ds3/ds3network.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ def send_request(self, request):
if key == 'Content-Length':
# Add to headers, but not to amz-headers
headers[key] = value
elif key in ['Content-CRC32', 'Content-CRC32C', 'Content-MD5', 'Content-SHA256', 'Content-SHA512']:
elif key in ['Content-CRC32', 'Content-CRC32C', 'Content-MD5', 'Content-SHA256', 'Content-SHA512','Range','Content-Length','Accept-Ranges','Content-Range']:
headers[key] = value
checksum = value
elif not key.startswith('x-amz-meta-'):
Expand Down
42 changes: 42 additions & 0 deletions samples/getDataRange.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import os
import tempfile

from ds3 import ds3, ds3Helpers,ds3network
from ds3.ds3 import *
import time


# This example retrieves specified bytes=53687091100-53687091115 in the file in a specific bucket.
# The output will be written to tempname file.


client = ds3.Client("<host>", ds3.Credentials("<access id", "<secret key>"))

# create a dictionary to map bucket names to object names
object_dict={}
helper = ds3Helpers.Helper(client=client)



file_path = os.path.join(os.path.dirname(str(__file__)), "<file-name>")
bucketName = "<bucket-name>"
fileName = "<file-name>"
fd, tempname = tempfile.mkstemp()
print (tempname)
f = open(tempname, "wb")
bucketObjects = client.get_service(ds3.GetServiceRequest())
print(bucketObjects)

req = ds3.GetObjectRequest(bucketName, fileName, f)
req.headers['Range'] = 'bytes=53687091100-53687091115'
start_time = time.time()
getObjectResult = client.get_object(request= req)


f.close()
os.close(fd)

print(getObjectResult.response.status)
end_time = time.time()
elapsed_time_total = end_time - start_time
print(f"Total elapsed time: {elapsed_time_total} seconds")