ArchiveOverCLI

Innen: KIFÜ Wiki

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 szint
          szintek:
          • 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>'