Object Store Management
Delete Object Store File
Request
Delete the Object Store file of a specific organization and key. The /object/delete
API accepts requests in the following format:
DeleteObjectStoreRequest Model - Request to delete Object Store metadata of a specific organization and key. | |
---|---|
organizationId | string Organization ID we'd like to delete the Object Store file from. |
key | string Key to the Object Store file. |
Example |
{ "organizationId": "5cad178b20a1d52567b534553413b691", "key": "key1" } |
Responses
The /object/delete
API provides a response in the following format:
200 Success
RestResponse Model - Base API response class for the QuantConnect API. | |
---|---|
success | boolean Indicate if the API request was successful. |
errors | string Array List of errors with the API call. |
Example |
{ "success": true, "errors": [ "string" ] } |
401 Authentication Error
UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. | |
---|---|
www_authenticate | string Header |
Examples
The following example demonstates uploading, getting, deleting, and listing Object Store objects through the cloud API.
from base64 import b64encode from hashlib import sha256 from time import time from requests import get, post BASE_URL = 'https://www.quantconnect.com/api/v2/' # You need to replace these with your actual credentials. # You can request your credentials at https://www.quantconnect.com/settings/ # You can find our organization ID at https://www.quantconnect.com/organization/ USER_ID = 0 API_TOKEN = '____' ORGANIZATION_ID = '____' def get_headers(): # Get timestamp timestamp = f'{int(time())}' time_stamped_token = f'{API_TOKEN}:{timestamp}'.encode('utf-8') # Get hased API token hashed_token = sha256(time_stamped_token).hexdigest() authentication = f'{USER_ID}:{hashed_token}'.encode('utf-8') authentication = b64encode(authentication).decode('ascii') # Create headers dictionary. return { 'Authorization': f'Basic {authentication}', 'Timestamp': timestamp } # Authenticate to verify credentials response = post(f'{BASE_URL}/authenticate', headers = get_headers()) print(response.json()) # -------------------- # The key of the object wishes to manipulate key = "..." ### Upload Object Store File # Send a POST request to the /object/set endpoint to upload a file response = post(f'{BASE_URL}/object/set', headers=get_headers(), json={"organizationId": ORGANIZATION_ID, "key": key}, # Organization ID and key for the object files={"objectData": b"Hello, world!"}) # File content as bytes # Parse the JSON response into python managable dict result = response.json() # Check if the request was successful and print the result if result['success']: print("Object Store File Uploaded Successfully:") print(result) ### Get Object Store Metadata # Prepare data payload to get object metadata payload = { "organizationId": ORGANIZATION_ID, # ID of the organization "key": key # Key of the object to get metadata for } # Send a POST request to the /object/properties endpoint to get metadata response = post(f'{BASE_URL}/object/properties', headers=get_headers(), json=payload) # Parse the JSON response into python managable dict result = response.json() # Check if the request was successful and print the metadata if result['success']: print("Object Store Metadata:") print(result) ### Get Object Store File # Prepare data payload to retrieve the object payload = { "organizationId": ORGANIZATION_ID, # ID of the organization "keys": [key] # List of keys to retrieve (single key in this case) } # Send a POST request to the /object/get endpoint to get the object response = post(f'{BASE_URL}/object/get', headers=get_headers(), json=payload) # Parse the JSON response into python managable dict result = response.json() # Check if the request was successful and print the file content if result['success']: print("Object Store File Content:") print(result) ### Delete Object Store File # Prepare data payload to delete the object payload = { "organizationId": ORGANIZATION_ID, # ID of the organization "key": key # Key of the object to delete } # Send a POST request to the /object/delete endpoint to delete the object response = post(f'{BASE_URL}/object/delete', headers=get_headers(), json=payload) # Parse the JSON response into python managable dict result = response.json() # Check if the request was successful and print the result if result['success']: print("Object Store File Deleted Successfully:") print(result) ### List Object Store Files # Define an empty path to list all objects (replace with specific path if needed) path = "" # Prepare data payload to list objects payload = { "organizationId": ORGANIZATION_ID, # ID of the organization "path": path # Path to list objects from } # Send a POST request to the /object/list endpoint to list objects response = post(f'{BASE_URL}/object/list', headers=get_headers(), json=payload) # Parse the JSON response into python managable dict result = response.json() # Check if the request was successful and print the list if result['success']: print("List of Object Store Files:") print(result)