Example scripts for report exporting
Created date | Updated date | Affects version | Fix version |
---|---|---|---|
|
| Management Portal | N/A |
Description
This page includes a collection of example scripts which can be used to get introduced with the Blancco Management Portal API endpoints.
NOTE! The provided scripts are fully experimental and built a single use case scenario in mind and are not meant to be used in a production environment!
There is no guarantee or warranty that these scripts will work as intended in a customer specific environment.
Running this script is only recommended in a controlled, non-production environment. Use the provided scripts at your own risk.
Python
Requirements:
- Python
- Requests library
This script will export multiple pages of reports one report at a time ("size" parameter set to 1) printing the results and giving a summary after exporting the last page/report.
The endpoint URL, API key, export filter and other parameters are provided as part of the script and can be modified.
import requests def execute_curl_request(cursor=None): url = 'https://api.eu-west-1.blancco.cloud/v1/report/export' headers = { 'Content-Type': 'application/json', 'X-BLANCCO-API-KEY': 'YOUR-API-KEY' } data = { "filter": { "date": { "gte": "2023-07-01T00:00:00Z" } }, "format": "XML", "container": "NONE", "size": 1 } if cursor: url += f"?cursor={cursor}" response = requests.post(url, headers=headers, json=data) return response def check_and_print_response(response): if response.status_code == 200: print(response.text) cursor_header = response.headers.get('x-blancco-cursor') return cursor_header, True else: print("Request failed with status code:", response.status_code) return None, False if __name__ == "__main__": cursor = None success_count = 0 failure_count = 0 while True: response = execute_curl_request(cursor) if success_count == 0: print("\n--------------------------------------------------") new_cursor, success = check_and_print_response(response) if success: success_count += 1 else: failure_count += 1 if new_cursor: cursor = new_cursor else: break print("\n--------------------------------------------------") print("All matching reports exported. Summary of exported reports:") print(f"Successful exports: {success_count}") print(f"Failed exports: {failure_count}")