Oms API POST upload model run initiate - openmpp/openmpp.github.io GitHub Wiki
POST model run upload request: upload model run zip file on server and start copy it into database.
This method only avaliable if server configured to create uploads for user.
This is a beta version and may change in the future.
As result of model run upload oms service does:
- upload archive, for example:
RiskPaths.run.New-Run.zip - extract
.csvfiles with all run parameters and output tables intoRiskPaths.run.New-Runfolder - extract model run metadata file:
modelOne.run.New-Run.json - create new or update existing "New-Run" model run in RiskPaths model database
Model run .zip archive must contain .json metadata file, which is usually created by dbcopy utility.
For example:
{
"ModelName": "RiskPaths",
"ModelDigest": "d90e1e9a49a06d972ecf1d50e684c62b",
"Name": "RiskPaths_Default",
"SubCount": 1,
"SubStarted": 1,
"SubCompleted": 1,
"CreateDateTime": "2022-03-22 20:49:24.341",
"Status": "s",
"UpdateDateTime": "2022-03-22 20:49:25.017",
"RunDigest": "feb022eed344533046de517bddea7d09",
"ValueDigest": "0f454b3af0d30f9f0614a9ce23e5cbfd",
"RunStamp": "2022_03_22_20_49_24_260",
"Txt": [{
"LangCode": "EN",
"Descr": "scenario",
"Note": ""
}, {
"LangCode": "FR",
"Descr": "scenario",
"Note": ""
}
],
"Opts": {
"OpenM.LogFilePath": "RiskPaths.log",
"OpenM.ProgressPercent": "25",
"OpenM.RunId": "102",
"OpenM.RunName": "RiskPaths_Default",
"OpenM.RunStamp": "2022_03_22_20_49_24_260",
"OpenM.SetId": "101",
"OpenM.SetName": "Default"
},
"Param": [{
"Name": "AgeBaselineForm1",
"Txt": [],
"SubCount": 1,
"DefaultSubId": 0,
"ValueDigest": "a9a4c2d9ef657aafd89bb098635f7098"
}, {
"Name": "AgeBaselinePreg1",
........
........
}
],
"Table": [{
"Name": "T01_LifeExpectancy",
"ValueDigest": "5db49f190e7e2e999f77e1a7f796e3bc"
}, {
"Name": "T02_TotalPopulationByYear",
........
........
}
],
"Progress": [{
"SubId": 0,
"CreateDateTime": "2022-03-22 20:49:24.399",
"Status": "s",
"UpdateDateTime": "2022-03-22 20:49:24.818",
"Count": 100,
"Value": 5000
}
]
}
Method:
POST /api/upload/model/:model/run
POST /api/upload/model/:model/run/:run
POST /api/upload/model/:model/run/lang/:lang
Arguments:
:model - (required) model digest or model name
Model can be identified by digest or by model name. It is recommended to use digest because it is uniquely identifies model. It is possible to use model name, which is more human readable than digest, but if there are multiple models with same name in database than result is undefined.
:run - (optional) model run digest, run stamp or run name
Model run can be identified by run digest, run stamp or run name.
It is recommended to use digest because it is uniquely identifies model run.
Run stamp, if not explicitly specified as model run option,
automatically generated as timestamp string, ex.: 2016_08_17_21_07_55_123.
It is also possible to use name, which is more human readable than digest,
but if there are multiple runs with same name in database than result is undefined.
This argument can committed because model run .zip archive must contain contain .json metadata file.
:lang - (optional) language code for dbcopy log messages
If optional lang argument specified then it is used for dbcopy log messages, for example:
dbcopy -m RiskPaths -OpenM.MessageLanguage fr-CA ....
Call examples:
curl -v -X POST -F "[email protected]" http://localhost:4040/api/upload/model/modelOne/run/Default-4
curl -v -X POST -F "[email protected]" http://localhost:4040/api/upload/model/modelOne/run