ArchiveOverCLI

Lehetőség van az archiválást nem csak a webes felületen keresztül használni. Erre a célra ki lett alakítva egy RESTAPI interfész, amin keresztül elérhetőek a szükséges funkciók.

Az API használatát segédletekkel megtalálhatod https://api.archiver.niif.hu/?help oldalon.

A használathoz szükséges token a webes felületen a Token fül alatt érhető el.

=Funkcionalitások kivonatolt segédlete:=

Szalag műveletek

 * útvonal:  /tape 
 *  GET  - lekérdezhető az elérhető szalagok azonosítói
 * paraméterek: -
 * OPCIONÁLIS paraméterek:
 * tape_id - amennyiben csak egy szalag adatai szeretnénk lekérdezni
 * válasz:
 * Egy JSON, mely tartalmazza az elérhető szalagok azonosítóit és neveit.

[           { "id" : , "name" : "szalag neve" },           ...          ]
 * példa:     curl --header "token:" -X GET 'https://api.archiver.niif.hu/tape/'


 *  POST  - szalag nevét lehet beállítani
 * paraméterek:
 * tape_id - szalag azonosítója
 * name   - beállítandó név
 * válasz: -
 * példa:     curl --header "token:" https://api.archiver.niif.hu/tape/ --data "tape_id=&name="


 *  DELETE  - szalag tartalmának törlése
 * paraméterek:
 * tape_id - melyik szalag tartalmát szeretnénk törölni
 * válasz: -
 * példa:     curl --header "token:" -X DELETE 'https://api.archiver.niif.hu/tape/?tape_id='

Feladatokkal kapcsolatos műveletek
Amennyiben az url tartalmaz '&'-t, azt '%26'-val kell helyettesíteni. szintek: curl --header "token:" https://api.archiver.niif.hu/archive/ --data "tape_id=&url=" curl --header "token:" https://api.archiver.niif.hu/archive/ --data "tape_id=&url=&name="
 * útvonal:  /archive 
 *  POST  - új archiválási feladata beküldése
 * paraméterek:
 * tape_id - szalag azonosító
 * url    - archiválandó forrás elérhetősége
 * OPCIONÁLIS paraméterek:
 * name   - átnevezés
 * email  - értesítendő email címe
 * level  - értesítési szint
 * 1 - csak a sikeres archiválásról kérek értesítés
 * 2 - sikeres és hibás archiválásról is kérek értesítést
 * válasz:
 * A sikeresen beküldött feladat ID-ja.
 * példa:


 *  GET  - lekérdezhető a beküldött feladat állapota
 * paraméterek:
 * job_id - lekérdezendő feladat ID-je
 * válasz:
 * Egy JSON, mely tartalmazza a feladat és az archivált fájl(ok) státuszát.          A "directories" elem csak hibás könyvtár létrehozáskor jelenik meg a JSON-ban.

{ "state":"feladat állapota", "directories" : [ { "dir":"könyvtár neve", "state":"error", "error_message":"HTTP error: 500 \"Internal Server Error\"" },                             ...                            ],            "files" : [ { "file":"fájl neve elérési úttal", "state":"complete", "checksum":"c9b96a05482a91970309f8087b3ac9c6", "ts":"2015-04-14 15:53:01" },                       ...                      ]          }
 * példa:         curl --header "token:" -X GET 'https://api.archiver.niif.hu/archive/?job_id='



Amennyiben az url tartalmaz '&'-t, azt '%26'-val kell helyettesíteni. szintek: curl --header "token:" https://api.archiver.niif.hu/restore/ --data "tape_id=<ID>&url=<URL>&file=<FILE>" curl --header "token:<TOKEN>" https://api.archiver.niif.hu/restore/ --data "tape_id=<ID>&url=<URL>&file=<FILE>&name=<NAME>"
 * útvonal:  /restore 
 *  POST  - új visszaállítási feladata beküldése
 * paraméterek:
 * tape_id - szalag azonosító
 * url    - visszaállítás helye
 * file   - visszaállítandó fájl, több verzió esetén a legutolsó változat kerül visszaállításra
 * OPCIONÁLIS paraméterek:
 * name   - átnevezés
 * email  - értesítendő email címe
 * level  - értesítési szint
 * 1 - csak a sikeres visszaállításról kérek értesítés
 * 2 - sikeres és hibás visszaállításról is kérek értesítést
 * válasz:
 * A sikeresen beküldött feladat ID-ja.
 * példa:

A "directories" elem csak hibás könyvtár létrehozáskor jelenik meg a JSON-ban.
 *  GET  - lekérdezhető a beküldött feladat állapota
 * paraméterek:
 * job_id - lekérdezendő feladat ID-je
 * válasz:
 * Egy JSON, mely tartalmazza a feladat és a visszaállított fájl(ok) státuszát.

{ "state":"feladat állapota", "directories" : [ { "dir":"könyvtár neve", "state":"error", "error_message":"HTTP error: 500 \"Internal Server Error\"" },                             ...                            ],            "files" : [ { "file":"fájl neve elérési úttal", "state":"complete", "checksum":"c9b96a05482a91970309f8087b3ac9c6", "ts":"2015-04-14 15:53:01" },                       ...                      ]          }         curl --header "token:<TOKEN>" -X GET 'https://api.archiver.niif.hu/restore/?job_id=<ID>'
 * példa:

Fájl műveletek
Természetesen a lista tartalmazza a path alatt található alkönyvtárakban lévő fájlokat is. [           { "file":"fájl neve elérési úttal", "size":"méret bájtban" },           ...          ]
 * útvonal:  /file 
 *  GET  - lekérdezhető a szalagon található fájlok listája
 * paraméterek:
 * tape_id - szalag azonosító
 * OPCIONÁLIS paraméterek:
 * path   - megadható, hogy a szalagon milyen path alatt található fájlokat listázzon csak.
 * válasz:
 * Egy JSON, mely tartalmazza a szalagon elérhető fájlokat és azok méretét.
 * példa:

curl --header "token:<TOKEN>" -X GET 'https://api.archiver.niif.hu/file/?tape_id=<ID>' curl --header "token:<TOKEN>" -X GET 'https://api.archiver.niif.hu/file/?tape_id=<ID>&path=<PATH>'