Toto je starší verze dokumentu!
Na této stránce naleznete návod na využívání služby LTP provozované sdružením CESNET. Tato služba je určena pro dlouhodobé uchovávání dat trvalé hodnoty.
Služba je provozována na těchto stránkách https://ltp.cesnet.cz/ a je dostupná registrovaným uživatelům přes webové rozhraní a přes API.
Služba LTP slouží jako temný archiv, do kterého můžete ukládat speciálně připravené archivní balíčky (jejich přípravu popíšeme níže). Archivní balíčky obsahují vlastní data a také metadata. Metadata jsou jednak věcná (popis experimentu, jméno autora, apod.), ta systémem nejsou nijak interpretována a slouží pro potřeby uživatele. Dále jsou to metadata technická, tedy zejména kontrolní součty ukládaných souborů. Ta slouží k ověřování, že se obsah balíčku binárně nepoškodil.
Po nahrání archivního balíčku provede automatizovaný systém jeho validaci: prověří vnitřní kontrolní součty z metadat balíčku a jeho celkový formát. Systém dále s metadaty balíčku nepracuje, pro kontroly jeho binární konzistence si vytvoří vlastní (vnější) kontrolní součty. To má výhodu ve snazším zpracování a navíc kontrolní součty zahrnují i kompletní metadata. Vnější kontrolní součty pak slouží k průběžné kontrole archivního balíčku. Tyto průběžné kontroly a jejich výsledky budou zaznamenávány do auditních zpráv, které budete mít možnost monitorovat.
Pro ukládání vašich dat v rámci služby LTP je nezbytné z vašich dat nejdříve vygenerovat tzv. archivní balíček, který bude mít příslušný formát podporovaný naší službou. Služba LTP provozovaná sdružením CESNET pracuje s archivními balíčky odpovídajícími standardu Bagit. Pro přípravu archivních balíčků je tedy nezbytné využívat nástroje využívající tento standard.
Pro přípravu archivních balíčků v prostředí Linux s využitím příkazové řádky doporučujeme využití nástroje bagit-python vyvíjený Knihovnou Kongresu - USA Library of Congress.
Pro instalaci je nezbytné nejprve nainstalovat balíček python-pip. Pro úspěšnou instalaci nástroje bagit je nezbytné mít v systému python v3.0 a vyšší. Následně tedy můžeme provést instalaci (jako správce systému).
pip install bagit
bagit.py --help
Pozor, tento proces přesouvá data ve struktuře složek.
bagit.py --md5 --processes 4 /adresar/k/zabaleni
–md5 specifikuje typ použitého algoritmu, jedná se o uživatelskou volbu, jaký algoritmus chete použít (např. SHA256)
–processes bude provádět paralelní výpočet kontrolních součtů s použitím více jader (zde např. 4)
Výroba archivního balíčku způsobí, že se v koncovém adresáři vytvoří několik pomocných souborů a adresář data. V adresáři data je uložena původní adresářová struktura, na kterou jsme použili nástroj bagit.
15:38 bag-info.txt 15:38 bagit.txt 15:38 data 15:38 manifest-md5.txt 15:38 tagmanifest-md5.txt
Nejdříve se přesuneme do adresáře, na který jsme použili bagit nástroj.
cd /adresar/k/zabaleni
Následně provedeme zabalení aktuálního adresáře s tím, že výstupní soubor umístíme do jiné destinace, zde například uživatelský home.
zip -r /home/student/my_archive_package.zip .
Pro ukládání archivních balíčků je možné využít webové prostředí na adrese https://ltp.cesnet.cz/. Do něj se registrovaní uživatelé přihlásí svou institucionální identitou.
Po přihlášení do služby LTP můžete v levém horním rohu vybrat příslušný skupinový kontext (pokud jste členem jen jedné skupiny, budete mít na výběr jen jednu možnost). Skupinovým kontextem se rozumí skupina vytvořená a spravovaná v systému pro správu uživatelů, jejímž jste členem. Tato skupina využívající službu LTP CESNET je správcem všech dat, které do služby nahrají členové příslušné skupiny. Její členové mohou do kontextu přidávat nové balíčky, zobrazovat detaily archivních balíčků, auditní zprávy a provádět updaty.
Dále si na zobrazené stránce můžete po kliknutí na ikonku zvonečku (červená) v pravé horní části zobrazit notifikace týkající se posledních auditních záznamů v daném skupinovém kontextu. Případně můžete pomocí vyhledávacího pole (červená) v pravé horní části prohlédávat balíčky podle uživatelských metadat.
Odhlášení ze služby LTP CESNET je možné provést po kliknutí na ikonku (zelená) v pravém horním rohu a kliknutí na tlačítko Logout.
Pro nahrání balíčku je nejdříve nezbytné připravit validní archivní balíček podle bagit standardu a zabalit jej do souboru *.zip.
Pro nahrání archivního balíčku je nezbytné vyplnit jeho název File name. Následně můžeme přidat uživatelská metadata Package metadata. Zde můžeme využít buď ručního vložení metadat ve fromátu json, případně můžeme nahrát metadata pomocí existujícího json souboru, nebo vyplnit identifikátory zcela ručně. Nakonec vybereme z lokálního disku příslušný zabalený balíček ve formátu *.zip a klikneme na tlačítko Store.
Po kliknutí na tlačítko Store to LTP dojde k nahrání archivního balíčku, o jehož průběhu vás bude informovat progress bar
V levém menu klikneme na tlačítko Archives, čímž dojde k zobrazení přehledu archivních balíčků. Každý balíček je jednoznačně identifikován svým ID. Dále je u každého balíčku uveden Create date, Version - v případě updatu dochází k verzování balíčků, Status - popis stavů balíčku a proklik na detailní informace k danému balíčku.
Po kliknutí na detail balíčku se zobrazí přehled dostupných informací o balíčku (ID, Create date, Version, Status, Metadata, Archive Package content, …). Na zobrazené stránce je možné balíček stáhnout - tlačítko Download připadně provést jeho editaci - tlačítko Edit. Níže pak nalezneme výpis auditních zpráv k příslušnému balíčku, například kontrola kontrolních součtů, informace o stažení atp.
Při prvním kliknutí na tlačítko Download musí nejdříve systém připravit balíček pro stažení. Tato příprava zahrnuje jeho vytažení z archivu a kontrolu kontrolního součtu. V auditních záznamech se objeví v následujícím pořadí tři záznamy.
1. Operation: Content download from LTP requested - toto je vyvoláno po prvním požadavkem na stažení
2. Operation: Content checksum successfully verified - kontrola kontrolního součtu - provede se na pozadí
3. Operation: Content downloaded from LTP - balíček byl úspěšně stažen z LTP úložiště - provede se automaticky po reloadu stránky, pokud je balíček připraven ke stažení
Při kliknutí na tlačítko Update se zobrazí formulář podobný tomu, který jsme použili pro vytvoření/uložení archivního balíčku. Zde je možné změnit metadata balíčku včetně updatu dat samotného balíčku. Po dokončení editace stačí kliknout na tlačítko Store a dojde k uložení balíčku. Následně bude balíček v poli Version označen vyšším číslem než předchozí verze.
Při kliknutí na tlačítko Audits v levém menu si můžete zobrazit všechny auditní zprávy pro všechny balíčky uložené v daném skupinovém kontextu. Nejčerstvější auditní záznamy si můžete rovněž prohlédnout, pokud kliknete na ikonku zvonečku v pravé horní části stránky.
Pro přístup přes API rozhraní je nezbytné nejdříve získat přístupový API klíč. Klíč má omezenou platnost.
Přístupový klíč si můžete vygenerovat ve webovém prostředí při kliknutí na tlačítko User Profile v levém menu a následně na Manage Tokens.
Pokud provedete obnovení stránky, dojde ke skrytí tokenu. Na zobrazené stránce pak můžete token rovněž revokovat.
Uložení uživatelského tokenu do proměnné.
LTP_TOKEN=d7d6ae316f8cb34ec2561421962a737ce30a95d8
Kontrola, že došlo k uložení tokenu do proměnné.
echo ${LTP_TOKEN} d7d6ae316f8cb34ec2561421962a737ce30a95d8
GET Account info - zobrazí informace o uživateli včetně seznamu skupin, jichž je členem. Je nutné použít autorizační token získaný v uživatelském profilu.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/auth/account/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
{ "username": "33c5b2a6e2fdasdasdc2ca76ttgfgdfb0b5@einfra.cesnet.cz", "email": "jan.student@hogwarts.cz", "first_name": "Jan", "last_name": "Student", "groups": [ { "name": "hogwarts", "permissions": [ 106 ], "is_group_admin": false } ], "token": "d7d6ae316f8cb34ec2561421962a737ce30a95d8" }
GET User Token - vrátí hodnotu aktuálního uživatelského tokenu.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/auth/token/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
{ "token": "d7d6ae316f8cb34ec2561421962a737ce30a95d8" }
GET Logout user - zruší okamžitě platnost přihlašovacího uživatelského tokenu.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/auth/logout/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
"Logout was successful."
parse error: Invalid numeric literal at line 1, column 11
odstraňte z příkazu jq za rourou/pipe. Pak dojde k výpisu příslušné chyby. Pokud totiž funkce API skončí chybou, program jq nedokáže interpretovat daný vstup.
POST CREATE ArchivePackage - nahraje a vytvoří nový archivní balíček v rámci služby CESNET LTP.
Zvaliduje bagit formát, napočítá a uloží vnější kontrolní součty, vytvoří auditní zprávy a uloží balíček.
Význam jednotlivých atributů je následující
–form name= název balíčku, pod kterým bude veden v našich systémech, mj. jej podle názvu bude možno vyhledávat ve webovém prostředí služby LTP
–form content=@ cesta k zabalenému balíčku, který chcete uložit do služby LTP
–form 'user_metadata= uživatelská metadata pro archivní balíček ve formě dvojic „klíč“: „hodnota“
–form group= plné jméno skupiny, členové dané skupiny budou moci spravovat daný balíček (download, update, …). Celý název příslušné skupiny lze získat pomocí funkce GET Account info případně zkopírovat z webového prostředí z uživatelského profilu.
Příklad dotazu
Příklad dotazu
curl --request POST \ --url https://ltp.cesnet.cz/upload/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' \ --header 'content-type: multipart/form-data' \ --form name=bag-balicek \ --form content=@/home/user/my_archive_package.zip \ --form 'user_metadata={"author": "milan", "title": "ltp_data1"}' \ --form group='urn:geant:cesnet.cz:group:VO_ltp_pilot_catchall:ltp_test_group' | jq
Příklad odpovědi
Příklad odpovědi
{ "id": 160, "name": "bag-balicek", "created_by": 5, "owner": 11, "content": "https://ltp.cesnet.cz/api/v1/archive/f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "checksum": "f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "version": 1, "system_metadata": { "original_filename": "my_archive_package.zip", "extension": "zip", "size": "3054499" }, "user_metadata": { "author": "milan", "title": "ltp_data1" }, "next_version": null, "previous_metadata": {}, "integrity_status": "0", "status_description": "Unknown", "data_status": { "DOWNLOAD": "0", "UPLOAD": "1" }, "created_at": "2019-07-02T14:33:48.545072", "data_status_description": { "DOWNLOAD": "New", "UPLOAD": "Uploading To Archive" } }
GET DETAIL ArchivePackage - vrátí informace o konkrétím archivním balíčku pro dané ID balíčku.
Zde je nutno u parametru --url změnit příslušné číslo balíčku, zde 160. Číslo balíčku je uvedeno ve výstupu funkce POST CREATE ArchivePackage, pod klíčem „id“.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/v1/archive/160/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
{ "id": 160, "name": "bag-balicek", "created_by": 5, "owner": 11, "content": "https://ltp.cesnet.cz/api/v1/archive/160/f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "checksum": "f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "version": 1, "system_metadata": { "size": "3054499", "sha256": "e5d1350b23e69af6277c0286915c97f2aa3584ffdca51d2df8506b62d35e45", "extension": "zip", "original_filename": "my_archive_package.zip" }, "user_metadata": { "title": "ltp_data1", "author": "milan" }, "next_version": null, "previous_metadata": {}, "integrity_status": "1", "status_description": "Archive is valid", "data_status": { "UPLOAD": "2", "DOWNLOAD": "0" }, "created_at": "2019-07-02T14:33:48.545072", "data_status_description": { "UPLOAD": "Stored In Archive", "DOWNLOAD": "New" } }
{ "detail": "Nenalezeno." }
typicky značí neexistující ID balíčku nebo chybu ve jménu skupiny.
PUT UPDATE ArchivePackage - update metadat archivního balíčku daného ID, použití ukážeme na příkladu změny jména balíčku. ID balíčku je uvedeno ve výstupu funkce GET DETAIL ArchivePackage.
Původní metadata nejsou pouze přepsána, jsou uložena jako předchozí verze.
Příklad dotazu
Příklad dotazu
curl --request PUT \ --url https://ltp.cesnet.cz/api/v1/archive/160/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' \ --header 'content-type: multipart/form-data' \ --form name=bag-name-update | jq
Příklad odpovědi
Příklad odpovědi
{ "id": 160, "name": "bag-name-update", "created_by": 5, "owner": 11, "content": "https://ltp.cesnet.cz/api/v1/archive/160/f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "checksum": "f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "version": 1, "system_metadata": { "size": "3054499", "sha256": "e5d1350b23e69af6277c0286915c97f2aa3584ffdca51d2df8506b62d35e45", "extension": "zip", "original_filename": "my_archive_package.zip" }, "user_metadata": { "title": "ltp_data1", "author": "milan" }, "next_version": null, "previous_metadata": {}, "integrity_status": "1", "status_description": "Archive is valid", "data_status": { "UPLOAD": "2", "DOWNLOAD": "0" }, "created_at": "2019-07-02T14:33:48.545072", "data_status_description": { "UPLOAD": "Stored In Archive", "DOWNLOAD": "New" } }
GET DOWNLOAD ArchivePackage - stažení archivního balíčku daného ID.
ID balíčku je uvedeno ve výstupu funkce GET DETAIL ArchivePackage.
Pro stažení balíčku je nezbytné zavolat funkci pro stažení dvakrát. První volání spustí přípravu balíčku pro stažení (zejména kontrolu kontrolních součtů). Balíček je připraven ke stažení, pokud má jeho atribut DOWNLOAD hodnotu Download Ready, tj. „DOWNLOAD“: „Download Ready“. Pro automatické stahování doporučujeme do workflow zařadit (busy-wait) kontrolu hodnoty atributu Status. U velkých souborů/balíčků může kontrola kontrolních součtu trvat i několik minut.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/v1/archive/160/download/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache'
Příklad odpovědi
Příklad odpovědi
Kontrola hodnoty atributu DOWNLOAD. Je-li balíček připraven ke stažení, bude mít nastaveno „DOWNLOAD“: „Download Ready“.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/v1/archive/160/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
{ { "id": 160, "name": "bag-name-update", "created_by": 5, "owner": 11, "content": "https://ltp.cesnet.cz/api/v1/archive/160/f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "checksum": "f379dbfb5b0f3ee06b6df0090b82da9c4be86b83fa05a65e8a5790ea232eab3e", "version": 1, "system_metadata": { "size": "3054499", "sha256": "e5d1350b23e69af6277c0286915c97f2aa3584ffdca51d2df8506b62d35e45", "extension": "zip", "original_filename": "my_archive_package.zip", "last_checksum_check": 1562072047.847555 }, "user_metadata": { "title": "ltp_data1", "author": "milan" }, "next_version": null, "previous_metadata": {}, "integrity_status": "1", "status_description": "Archive is valid", "data_status": { "UPLOAD": "2", "DOWNLOAD": "5" }, "created_at": "2019-07-02T14:33:48.545072", "data_status_description": { "UPLOAD": "Stored In Archive", "DOWNLOAD": "Download Ready" } }
Stažení balíčku - POZOR - balíček ukládejte jako soubor *.zip, níže downloaded_package.zip.
Příklad dotazu
Příklad dotazu
curl --request GET \ --output downloaded_package.zip \ --url https://ltp.cesnet.cz/api/v1/archive/160/download/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache'
Příklad odpovědi
Příklad odpovědi
GET LIST ArchivePackages - vylistuje archivní balíčky uložené danou uživatelskou skupinou. Celý název příslušné skupiny lze získat pomocí funkce GET Account info.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url https://ltp.cesnet.cz/api/v1/archive/ \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' \ --form group='urn:geant:cesnet.cz:group:VO_ltp_pilot_catchall:ltp_test_group' | jq
Příklad odpovědi
Příklad odpovědi
[ { "id": 160, "name": "bag-name-update", "created_by": 50, "created_at": "2019-02-20T17:56:37.058489", "content": "https://ltp.cesnet.cz/api/v1/archive/c33a7550a6adbc5b88761294d72d86d4ecf3ac520750602c2714cdf6b3ec8317", "checksum": "c33a7550a6adbc5b88761294d72d86d4ecf3ac520750602c2714cdf6b3ec8317", "version": 1, "system_metadata": { "sha256": "e5d1350b23e69af6277c0286915c97f2aa3584ffdca51d2df8506b62d35e45", "extension": "zip", "original_filename": "my_archive_package.zip" }, "user_metadata": { "title": "ltp_data1", "author": "milan" }, "next_version": null, "previous_metadata": {}, "status": "3" }, { "id": 159, "name": "bag-balicek", "created_by": 58, "created_at": "2019-02-20T16:38:57.714662", "content": "https://ltp.cesnet.cz/api/v1/archive/cf207d712fcbbde30b75396732bfbe7f0b4187b29665d34e579c9046dc50d133", "checksum": "cf207d712fcbbde30b75396732bfbe7f0b4187b29665d34e579c9046dc50d133", "version": 1, "system_metadata": { "extension": "zip", "original_filename": "milan_test.zip" }, "user_metadata": "{\"title\":\"ltp_data1\",\"author\":\"milan\"}", "next_version": null, "previous_metadata": { "1": { "title": "ltp_data1", "author": "milan" } }, "status": "4" } ]
GET LIST All Audit Messages - vylistuje všechny auditní zprávy ke všem balíčkům uloženým příslušnou skupinou. Celý název příslušné skupiny lze získat pomocí funkce GET Account info.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url 'https://ltp.cesnet.cz/api/v1/audit/?group=urn:geant:cesnet.cz:group:VO_ltp_pilot_catchall:ltp_test_group' \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
[ { "id": 276, "archive": { "id": 157, "name": "my_archive_pcakage.zip", "version": 1 }, "created_by": { "id": 50, "username": "33c5b2asadrt56hgfhj7j739cd9c2ca76680fddas24@einfra.cesnet.cz" }, "event": { "id": 10, "name": "Bagit check failed" }, "details": [ { "error": "Bagit does not contains bagit.txt" } ], "timestamp": "2019-02-20T13:24:42.714930" } ]
GET LIST Archive Package Audit Records - vylistuje auditní zprávu konkrétního balíčku pro dané ID balíčku.
Zde je nutno u parametru --url změnit příslušné číslo balíčku, zde například 160. Číslo balíčku je uvedeno ve výstupu funkce GET DETAIL ArchivePackage, pod klíčem „id“. Celý název příslušné skupiny lze získat pomocí funkce GET Account info.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url 'https://ltp.cesnet.cz/api/v1/audit/archive/160/?group=urn:geant:cesnet.cz:group:VO_ltp_pilot_catchall:ltp_test_group' \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' | jq
Příklad odpovědi
Příklad odpovědi
[ { "id": 291, "archive": { "id": 160, "name": "bag-name-update", "version": 1 }, "created_by": { "id": 50, "username": "33c5b2asadrt56hgfhj7j739cd9c2ca76680fddas24@einfra.cesnet.cz" }, "event": { "id": 1, "name": "Uploaded To LTP" }, "details": { "result": true }, "timestamp": "2019-02-20T17:53:18.272370" }, { "id": 290, "archive": { "id": 160, "name": "bag-name-update", "version": 1 }, "created_by": { "id": 50, "username": "33c5b2asadrt56hgfhj7j739cd9c2ca76680fddas24@einfra.cesnet.cz" }, "event": { "id": 3, "name": "Content checksum computed" }, "details": { "sha256": "e5d1350b23e69af6277c0286915c97f2aa3584ffdca51d2df8506b62d35e45" }, "timestamp": "2019-02-20T17:53:18.116316" }, { "id": 289, "archive": { "id": 160, "name": "bag-name-update", "version": 1 }, "created_by": { "id": 50, "username": "33c5b2asadrt56hgfhj7j739cd9c2ca76680fddas24@einfra.cesnet.cz" }, "event": { "id": 11, "name": "Bagit check success" }, "details": null, "timestamp": "2019-02-20T17:53:17.746464" }, { "id": 288, "archive": { "id": 160, "name": "bag-name-update", "version": 1 }, "created_by": { "id": 50, "username": "33c5b2asadrt56hgfhj7j739cd9c2ca76680fddas24@einfra.cesnet.cz" }, "event": { "id": 0, "name": "Started Uploading To LTP" }, "details": null, "timestamp": "2019-02-20T16:52:57.602887" } ]
Pro prohledávání balíčků, uložených příslušnou skupinou je nezbytné zadat příslušná metadata, podle kterých chceme vyhledávat (níže user_metadata=milan). Celý název příslušné skupiny lze získat pomocí funkce GET Account info.
Příklad dotazu
Příklad dotazu
curl --request GET \ --url 'https://ltp.cesnet.cz/api/v1/archive/search/?user_metadata=milan' \ --header "Authorization: Token ${LTP_TOKEN}" \ --header 'cache-control: no-cache' \ --form group='urn:geant:cesnet.cz:group:VO_ltp_pilot_catchall:ltp_test_group'| jq
Příklad odpovědi
Příklad odpovědi
[ { "system_metadata": { "size": 3054499, "sha256": "e5d1350b23e69af6277c0286915c97f2aa3584ffdca51d2df8506b62d35e45", "extension": "zip", "original_filename": "my_archive_package.zip" }, "user_metadata": { "title": "ltp_data1", "author": "milan" }, "created_at": "2019-02-26T13:31:58.382375", "version": 1, "status": "3", "name": "bag-balicek", "id": 38 } ]
CESNET, z. s. p. o.
Generála Píky 26
160 00 Praha 6
Tel: +420 234 680 222
Fax: +420 224 320 269
info@cesnet.cz
Tel: +420 234 680 222
GSM: +420 602 252 531
Fax: +420 224 313 211
support@cesnet.cz