Ugrás a fő tartalomra

ArchiveOverCLI

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" : <szalag id>,
                "name" : "szalag neve"
            },
            ...
        ]
        
      • példa:

        curl --header "token:<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:<TOKEN>" https://api.archiver.niif.hu/tape/ --data "tape_id=<ID>&name=<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:<TOKEN>" -X DELETE 'https://api.archiver.niif.hu/tape/?tape_id=<ID>'
        

Feladatokkal kapcsolatos műveletek

  • ú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 Amennyiben az url tartalmaz '&'-t, azt '%26'-val kell helyettesíteni.
      • OPCIONÁLIS paraméterek:

        • name - átnevezés
        • email - értesítendő email címe
        • level - értesítési szintszintek:
          • 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:

        curl --header "token:<TOKEN>" https://api.archiver.niif.hu/archive/ --data "tape_id=<ID>&url=<URL>"
        curl --header "token:<TOKEN>" https://api.archiver.niif.hu/archive/ --data "tape_id=<ID>&url=<URL>&name=<NAME>"
        
    • 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:<TOKEN>" -X GET 'https://api.archiver.niif.hu/archive/?job_id=<ID>'
        
  • ú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 Amennyiben az url tartalmaz '&'-t, azt '%26'-val kell helyettesíteni.
        • 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 szintek:
          • 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:

        curl --header "token:<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>"
        
    • 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. 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:<TOKEN>" -X GET 'https://api.archiver.niif.hu/restore/?job_id=<ID>'
        

Fájl műveletek

  • ú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. Természetesen a lista tartalmazza a path alatt található alkönyvtárakban lévő fájlokat is.
      • válasz:

        • Egy JSON, mely tartalmazza a szalagon elérhető fájlokat és azok méretét.
        [
            { "file":"fájl neve elérési úttal",
                "size":"méret bájtban"
            },
            ...
        ]
        
    • 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>'