Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "Accounting Portal API"

From EGIWiki
Jump to navigation Jump to search
Line 52: Line 52:
!Data shown
!Data shown
|-
|-
|[[Accounting_Portal_API/report/resource_centres/ /report/resource_centres/]]
|[Accounting_Portal_API/report/resource_centres/ /report/resource_centres/]
|Infrastructure, type of report  
|Infrastructure, type of report  
|Resource centre report
|Resource centre report

Revision as of 11:27, 8 June 2017

1.- Introduction The EGI Accounting Portal Data Retrieval API is a REST interface that relies on HTTP commands that share the same channel as the normal user interface. The output can be selectable from CSV (comma separated value) or JSON (JavaScript Object Notation). Both can be readily adapted to whatever internal notation the consumer uses and have support in any relevant language or execution environment.

The basic premise of the API is to append a /csv/ or /json/ to existing URLs from the portal, this makes easy to first manipulate the user interface to get the desired information and then use the URL to get a data endpoint for it. This page will also cover how to change each of the URL components programmatically to achieve the same effect.

2.- The Accounting Portal - technological choices The Accounting Portal is an AJAX-based we application, but in contrast with many of them offers deep linking by changing the URL dynamically on user selection.

This functionality requires a reasonably recent browser, but since it already requires CORS for basic operation, this functionality is supported by all browsers with CORS already.

[1] [2]

The non-conforming browsers only represent 5% of the current user base (mostly Opera Mini for mobile phones). Any relevant browser from the last 5 years supports these functionalities.

3.- Basic format of the Accounting Portal URLs

So, for example, to see the Total number of jobs by Operations Centre and Month for EGI Official VOs, we would use a simple URL with the portal WWW domain, a path selector, which defines the desired views and a API-enabling data-selector that enables the API and selects

https://accounting.egi.eu/egi/JSON/ <-------- Domain -------->PS DS https://accounting.egi.eu/egi/CSV/

Using a URL with only the path selector and data selector selects default values for each of the selectable parameters in the interface, clicking the “Update” button will update the URL with all selected parameters.

The CPU Efficiency (%) by Resource Centre and Year for EGI Official VOs between June and July 2016 would be: https://accounting.egi.eu/egi/cpueff/SITE/Year/2016/6/2016/7/egi/onlyinfrajobs/CSV/ <-------- Domain -------->PS query RV CV <-- Date --> VO Local DS https://accounting.egi.eu/egi/cpueff/SITE/Year/2016/6/2016/7/egi/onlyinfrajobs/JSON/

These URLs were obtained after selecting the relevant options in the web site, and then appended with '/CSV/' or '/JSON/' as required.

Each of the URL segments encodes one aspect, each of which will be covered in a section. '/egi/' --> this is the Path Selector, for some views it would consist on several segments, encondig for example a certain Resource Centre, Country or Discipline. '/cpueff/' ---> would be the selected metric. '/SITE/' is the ROW variable, in this case resource centre. '/Year/' is the COLUMN variable, in this case Year. '/2016/6/' --> is the Year and Month of the start date. '/2016/7/' --> Year and month of the ending date. '/egi/' --> for official VOs. '/onlyinfrajobs/' --> to filter out local jobs. '/CSV/' or '/JSON/' to select the ouput format.

Possible URLS

3.1.- Path Selector The path selector defines the selected view and with it the data shown. Most of the views work hierarchically, so from a view of the infrastructure we can navigate to a particular country and inside this a concrete site. The following table shows a list of valid path selectors:

Path Extra Parameters Data shown
[Accounting_Portal_API/report/resource_centres/ /report/resource_centres/] Infrastructure, type of report Resource centre report
report/disciplines/ Infrastructure, discipline list Discipline report
wlcg/report/tier2/ Day/hour WLCG Tier2 Report
wlcg/report/countries/ Day/hour WLCG Countries Report
wlcg/report/tier1/ N/A WLCG Tier1 Report
report/interngi/ No InterNGI Report
report/vomet/ No VO activity report
disciplines/cloud/ No Cloud disciplines overview
disciplines/cloud/ Discipline Cloud Discipline detail
disciplines/ No HTC disciplines overview
disciplines/ Discipline HTC Discipline detail
/tier1/cloud/ No WLCG Cloud Tier1 overview
/tier1/cloud/node/ Node WLCG Cloud Tier1 node detail
/tier1/cloud/site/ Site WLCG Cloud Tier1 site detail
/tier1/ No WLCG HTC Tier1 overview
/tier1/node/ Node WLCG HTC Tier1 node detail
/tier1/site/ Site WLCG HTC Tier1 site detail
/tier2/cloud/ No WLCG Cloud Tier2 overview
/tier2/cloud/federation/ Federation WLCG Cloud Tier2 federation detail
/tier2/cloud/country/ Country WLCG Cloud Tier2 country detail
/tier2/cloud/site/ Site WLCG Cloud Tier2 site detail
/tier2/ No WLCG HTC Tier2 overview
/tier2/federation/ Federation WLCG HTC Tier2 federation detail
/tier2/country/ Country WLCG HTC Tier2 country detail
/tier2/site/ Site WLCG HTC Tier2 site detail
/egi/ No EGI HTC NGI overview
/egi/ngi/ NGI (Operations Centre) EGI HTC NGI detail
/egi/country/ Country EGI HTC Country detail
/egi/countries/ No EGI HTC Country overview
/egi/site/ Site EGI HTC Site detail
wlcg/ No WLCG HTC Overview
wlcg/country/ Country WLCG HTC Country detail
wlcg/site/ Site WLCG HTC Site detail
osg/cloud/ No OSG Cloud overview
osg/cloud/site/ Site OSG Site detail
osg/ No OSG HTC overview
osg/site Site OSG Site detail
site_admin/ Site Site Admin HTC
site_admin/cloud/ Site Site Admin Cloud
vo_admin/cloud/ VO VO Admin Cloud
vo_admin/cloud/site/ VO, Site VO Admin Site detail
vo_admin/cloud/ngi/ VO, NGI VO Admin NGI detail
vo_admin/cloud/country/ VO, Country VO Admin Country detail
vo_admin/ VO VO Admin HTC
vo_admin/site/ VO, Site VO Admin HTC Site detail
vo_admin/ngi/ VO, NGI VO Admin HTC NGI detail
vo_admin/country/ VO, Country VO Admin HTC Country detail
user/cloud/ No User View Cloud
user/cloud/site/ Site User View Cloud Site
user/cloud/ngi/ NGI User View Cloud NGI
user/cloud/country/ Country User View Cloud Country
user/ No User View HTC
user/site/ Site User View HTC Site
user/ngi/ NGI User View HTC NGI
user/country/ Country User View HTC Country
cloud/ No Cloud NGI Overview
cloud/countries/ No Cloud Countries Overview
cloud/site/ Site Cloud Site Detail
cloud/ngi/ NGI Cloud NGI Detail
cloud/country/ Country Cloud Country Detail
wlcg/countries/ No WLCG Countries Overview
wlcg/country Country WLCG Country Detail