...
Code Block | ||
---|---|---|
| ||
#http://validatie-api.hydamo.nl/task/[task_id]/execute/csv,geopackage,geojson format = "csv,geopackage,geojson" response_execute_task = requests.post(f"{server}/task/{task_id}/execute/{format}", headers=my_headers, verify=hydamo_cert) if response_execute_task.status_code == 202: print("Taak wordt gestart!") #controleer de status van de validatie-taak (periodiek) response_get_task = requests.get(f"{server}/task/{task_id}", headers=my_headers, verify=hydamo_cert) if response_get_task.status_code == 200: status = str(response_get_task.json()["status"]) while not (status == "finished" or status == "error"): response_get_task = requests.get(f"{server}/task/{task_id}", headers=my_headers, verify=hydamo_cert) if response_get_task.status_code == 200: status = str(response_get_task.json()["status"]) print(f"status taak: {status}") time.sleep(60) |
...
Code Block | ||
---|---|---|
| ||
#http://validatie-api.hydamo.nl/task/[task_id]/result/geopackage response_get_results_geopackage = requests.get(server + '/task/' + str(task_id) + '/result/geopackage', headers=my_headers, verify=hydamo_cert) if response_get_results_geopackage.status_code == 200: result_data = bytes(response_get_results_geopackage.content) if not os.path.exists(result_folder): os.makedirs(result_folder) open(os.path.join(result_folder,"validationresults.gpkg"), 'wb').write(response_get_results_geopackage.content) |
Het resultaat is een geopacke geopackage bestand met resultaten van de validatie voor alle objectlagen in de dataset (zie ook Resultaten).
...
Download alle resultaat bestanden van de validatie-taak
...
Het kan voorkomen dat een validatie-taak wordt gestart die veel doorlooptijd vraagt, maar waarvan op een gegeven moment wordt geconcludeerd dat er iets niet klopt. Een validatie-taak die gestart is kan door een gebruiker geannuleerd worden door een is ook mogelijk om alle resultaat bestanden van een validatietaak tegelijk te downloaden in een zip-bestand. Dit zip-bestand bevat dan zowel het metadata JSON bestand als de alle uitvoerformaten die bij het starten van de taak zijn meegegeven (geopackage, CSV bestanden en/of GEOJSON bestanden). Een zip-bestand met alle resultaten kan gedownload worden door een GET request naar de API op het endpoint task/result te maken. Naast de id van de validatie-taak (in de URL) moet ook het fomat ‘zip' meegegeven worden in de URL. Daarnaast zijn ook de Bearer token (opgeslagen in my_headers) en het (https) beveiligingscertificaat (verify=hydamo_cert) meegegeven in het request. Als de HTML statuscode van de response gelijk is aan 200 (het post request geeft een succesvol resultaat), kan het zip-bestand met validatie-resultaten worden opgeslagen in de lokale folder.
Code Block | ||
---|---|---|
| ||
#http://validatie-api.hydamo.nl/task/[task_id]/result/zip
response_get_all_results = requests.get(server + '/task/' + str(task_id) + '/result/zip', headers=my_headers, verify=hydamo_cert)
if response_get_all_results.status_code == 200:
result_data = bytes(response_get_all_results.content)
if not os.path.exists(result_folder):
os.makedirs(result_folder)
open(os.path.join(result_folder,"validationresults.zip"), 'wb').write(response_get_all_results.content) |
Het resultaat is een zip-bestand met alle bestanden van de validatietaak.
Een validatie-taak annuleren
Het kan voorkomen dat een validatie-taak wordt gestart die veel doorlooptijd vraagt, maar waarvan op een gegeven moment wordt geconcludeerd dat er iets niet klopt. Een validatie-taak die gestart is kan door een gebruiker geannuleerd worden door een POST request naar de API op het endpoint task/kill te sturen. Naast de id van de validatie-taak (in de URL) worden ook de Bearer token (opgeslagen in my_headers) en het (https) beveiligingscertificaat (verify=hydamo_cert) meegegeven in het request. Als de HTML statuscode van de response gelijk is aan 202 (het post request geeft aan dat de actie is geaccepteerd), wordt de taak geannuleerd.
...
Bovenstaande voorbeelden zijn opgenomen in een Jupyter notebook. Dit notebook kunt u hier downloaden. Let op: u moet wel de paden en login gegevens zelf aanpassen, anders werkt het notebook niet.
View file | ||
---|---|---|
|