-
Allas-asiakasohjelmat
-
a-command
a-komennot, helppoja ja turvallisia
Allas-objektitallennusjärjestelmää voidaan käyttää monin eri tavoin ja moniin eri tarkoituksiin. Monissa tapauksissa Allaksen tehokas käyttö edellyttää, että käyttäjä tuntee sekä objektitallennusjärjestelmän että Allaksessa olevan datan hallintaan käytettävän ohjelmiston tai protokollan ominaisuudet.
Käyttäjille, jotka haluavat yksinkertaisesti käyttää Allasta CSC:n laskentaympäristössä olevan datan tallentamiseen, CSC tarjoaa joukon komentoja datan hallintaan ja siirtämiseen CSC:n laskentaympäristön ja Allaksen välillä:
a-komento |
Ohjeteksti | Toiminto |
|---|---|---|
a-put |
GitHub | Lataa tiedosto tai hakemisto Altaaseen |
a-check |
GitHub | Tarkista, löytyvätkö kaikki objektit, jotka a-put-komennon olisi pitänyt luoda, Allaksesta |
a-list |
GitHub | Listaa Allaksen ämpärit ja objektit |
a-publish |
GitHub | Lataa tiedosto Altaaseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-flip |
GitHub | Lataa tiedosto väliaikaisesti Altaaseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-get |
GitHub | Lataa tallennettu aineisto (objekti){ target=_blank } Allaksesta |
a-find |
GitHub | Etsi ja paikanna a-put-komennolla ladattu data |
a-delete |
GitHub | Poista objekti Allaksesta |
a-info |
GitHub | Näytä tietoja Allaksessa olevasta objektista |
a-access |
GitHub | Hallitse Allaksen ämpärin käyttöoikeuksia |
a-stream |
GitHub | Suoratoista objektin sisältö vakiotulosteeseen |
a-encrypt |
GitHub | Tee salattu kopio Allakseen ladatusta objektista |
Edellä mainittujen komentojen lisäksi muihin tarkoituksiin on erillisiä työkaluja:
allas_conf: Määritä ja avaa yhteys Allakseenallas-backup: Luo paikallisesta aineistosta varmuuskopio Allaksessa olevaan varmuuskopiorepositorioon.allas-mount: Liitä ämpäri allaksesta käytettäväksi paikallisessa ympäristössä vain luku -hakemistona.allas-health-check: Tarkista yli 5 GB:n objektien eheys Allaksessa.allas-dir-to-bucket: kopioi paikallinen tiedosto tai hakemisto Altaaseen. Yli 5GB:n tiedostoille käytetään rinnakkaisia latausprosesseja.
Jos käytät a-komentoja supertietokoneiden ulkopuolella, katso allas-cli-utils-dokumentaatiosta, miten nämä työkalut asennetaan.
Alla käsittelemme lyhyesti a-komentojen yleisimmin käytettyjä ominaisuuksia. a-komentoihin lisätään aika ajoin uusia ominaisuuksia, eikä niitä välttämättä käsitellä alla olevissa esimerkeissä. Käytä ohjevalitsinta --help tarkistaaksesi komentokohtaiset tiedot. Esimerkiksi:
Esimerkki: Datan tallentaminen scratch-hakemistosta Allakseen
Yhteyden määrittäminen supertietokoneissa
Jotta voit käyttää näitä työkaluja Puhdissa ja Mahdissa, lataa ensin a-komennot:
Määritä Allas-yhteys komennolla allas-conf.
Datan kopioiminen Puhdin scratch-hakemiston ja Allaksen välillä
Datan kopioiminen hakemistosta /scratch/project_201234/dataset_3 Allakseen:
Hakemistossa dataset_3 oleva data tallennetaan oletusämpäriin 201234-puhti-SCRATCH objektina: dataset_3.tar. Allaksessa käytettävissä olevat dataämpärit voidaan listata komennolla: Ja ämpärin 201234-puhti-SCRATCH sisältö voidaan listata komennolla: Allakseen tallennettu hakemisto voidaan hakea takaisin Puhtiin komennolla:a-komennot tarkemmin
a-put
a-put-komentoa käytetään datan lataamiseen Mahdin ja Puhdin levyympäristöstä
Allaksen tallennusympäristöön. Komennon perussyntaksi:
Oletusarvoisesti tämä työkalu tekee seuraavat toiminnot:
-
Varmistaa, että yhteys Allaksen tallennuspalveluun toimii, ja määrittää projektin, jota käytetään datan tallentamiseen.
-
Hakemiston tapauksessa hakemiston sisältö kerätään yhdeksi tiedostoksi
tar-komennolla. Jos sinulla on paljon dataa, tämä ei välttämättä ole hyvä vaihtoehto; harkitse silloin jonkin muun Allas-asiakasohjelman käyttöä, joka ei paketoi tiedostoja. -
Pakattu data ladataan Allakseen
rclone-komennolla ja Swift-protokollalla.
Oletusarvoisesti a-put käyttää vakioämpäri- ja objektinimiä, jotka riippuvat käyttäjänimestä, projektista ja
ladatun datan sijainnista:
- a) Data hakemistosta /scratch Puhdissa ladataan ämpäriin projectNumber-puhti-SCRATCH
- b) Data hakemistosta /scratch Mahdissa ladataan ämpäriin projectNumber-mahti-SCRATCH
- c) Data hakemistosta /projappl Puhdissa ladataan ämpäriin projectNumber-puhti-PROJAPPL
- d) Data hakemistosta /projappl Mahdissa ladataan ämpäriin projectNumber-mahti-PROJAPPL
- e) Data hakemistosta $LOCAL_SCRATCH Puhdissa ladataan ämpäriin projectNumber-puhti-LOCAL_SCRATCH
- f) Muissa tapauksissa data ladataan ämpäriin username-projectNumber-MISC
Esimerkiksi käyttäjälle kkayttaj, joka kuuluu projektiin 12345, HOME-hakemistossa sijaitseva data ladataan ämpäriin kkayttaj-12345-MISC.
Jos haluat käyttää muuta kuin vakioämpäriä, voit määrittää ämpärin nimen valitsimella -b tai
--bucket.
Pakattu aineisto tallennetaan yhtenä objektina. Oletusarvoisesti objektin nimi riippuu tiedoston nimestä ja sijainnista. Mahdollinen alihakemistopolku Puhdissa tai Mahdissa sisällytetään objektin nimeen, esimerkiksi tiedosto nimeltä test_1.txt hakemistossa /scratch/project_2012345 Puhdissa voidaan tallentaa komennoilla:
Tässä tapauksessa tiedosto tallennetaan ämpäriin 2012345-puhti-SCRATCH objektina test_1.txt
Jos sinulla on toinen tiedosto nimeltä test_1.txt, joka sijaitsee hakemistossa /scratch/project_2012345/kkayttaj/project2/, voit tallentaa sen komennoilla
tai Tässä tapauksessa tiedosto tallennetaan ämpäriin 2012345-puhti-SCRATCH objektina kkayttaj/project2/test_1.txt.Varsinaisen dataobjektin lisäksi luodaan toinen objekti, joka sisältää metadataa. Tällä metadataobjektilla on
sama nimi kuin pääobjektilla, mutta tiedostopääte on _ameta. Tätä metadatatiedostoa käyttävät
muut a-komennot, eikä sitä normaalisti näytetä käyttäjälle, mutta jos tarkastelet ämpäreitä
työkaluilla kuten swift tai rclone, näet myös nämä metadataobjektit.
Jos haluat käyttää oletusobjektinimestä poikkeavaa nimeä, voit määrittää sen valitsimella -o tai
--object:
Yllä oleva komento lataa tiedoston test_1.txt Altaaseen ämpäriin newbucket1 objektina case1.txt.zst. Koska valitsinta -c käytetään, data tallennetaan zstd-pakatussa muodossa.
Voit antaa a-put-komennolle useita tiedosto- tai hakemistonimiä ja käyttää *-merkkiä jokerimerkkinä ladattavan datan nimeämisessä. Huomaa, että näissä tapauksissa jokainen kohde (tiedosto tai hakemisto) tallennetaan erillisenä objektina. Oletetaan esimerkiksi, että meillä on hakemisto nimeltä job123, joka sisältää tiedostot input1.txt, input2.txt ja program.py. Lisäksi on hakemistot output_dir_1 ja output_dir_2 .
Komento:
lataa hakemiston output_dir_1 sisällön objektiin job123/output_dir_1.tar ja tiedoston input1.txt objektiin job123/input1.txt.Vastaavasti komento
lataa hakemiston output_dir_1 sisällön objektiin job123/output_dir_1.tar ja hakemiston output_dir_2 sisällön objektiin job123/output_dir_2.tar.Latauksen aikana yli 5 GB:n kokoiset aineistot pilkotaan ja tallennetaan useina objekteina. Tämä tehdään automaattisesti ämpäriin, jonka nimi muodostetaan lisäämällä alkuperäisen ämpärin nimeen pääte _segments. Esimerkiksi jos lataisit suuren tiedoston ämpäriin kkayttaj-12345-MISC, varsinainen data tallennettaisiin useina osina ämpäriin kkayttaj-12345-MISC_segments. Kohdeämpäri (kkayttaj-12345-MISC) sisältäisi vain etuobjektin, jossa on tiedot siitä, mistä segmenteistä tallennettu aineisto koostuu. Etuobjektille tehdyt toiminnot heijastuvat automaattisesti segmentteihin. Normaalisti käyttäjien ei tarvitse käsitellä segmenttiämpäreitä lainkaan, eikä näiden ämpärien sisällä olevia objekteja pidä poistaa tai muokata.
a-check
Tämä komento käy läpi ne Allaksen objektinimet, jotka vastaava a-put-komento loisi, ja tarkistaa sitten, onko samanniminen objekti jo olemassa Allaksessa. Tämän komennon päätarkoitus on tarjota työkalu sen tarkistamiseen, suoritettiinko suuri a-put-komento onnistuneesti. a-check hyväksyy samat komentorivivalitsimet kuin a-put.
Esimerkiksi jos aineisto ladataan komennolla:
Lataus voidaan tarkistaa komennolla: Komento a-check vertaa ladattavien kohteiden nimiä Allaksessa oleviin vastaaviin objekteihin. Tiedostot tai hakemistot, joille ei löydy kohdeobjektia Allaksesta, raportoidaan ja tallennetaan tiedostoon: missing_bucket-name_number. Jos jokin yllä olevien esimerkkikomentojen objekteista puuttuisi, niina-check listaisi puuttuvat tiedostot ja hakemistot tiedostoon missing_job123_67889 (lopussa oleva numero on
vain satunnaisluku).
Tätä puuttuvien kohteiden tiedostoa voidaan käyttää a-put-komennon valitsimen --input-list kanssa epäonnistuneen latausprosessin jatkamiseen:
Huomaa, että a-check ei tarkista, onko objektin varsinainen sisältö oikein. Se tarkistaa vain objektien nimet, jotka voivat olla peräisin muistakin lähteistä.
Onnistuneen latauksen tarkistamisen lisäksi a-check-komentoa voidaan käyttää a-put-komennon "dry-run"-testiin, jotta näet, mitä objekteja luodaan tai korvataan ennen varsinaisen a-put-komennon suorittamista.
a-list
a-list-komentoa käytetään Allakseen tallennettujen ämpärien ja objektien nimien näyttämiseen. a-list on suunniteltu käytettäväksi a-put-komennolla ladattujen objektien kanssa, mutta se näyttää myös muilla työkaluilla ladatut objektit. Se ei kuitenkaan näytä a-put-komennon luomia ameta-metadatatiedostoja, jotta objektien listaukset pysyvät lyhyempinä.
a-list-esimerkkejä
Listaa kaikki projektiin kuuluvat ämpärit:
Näytä ämpärin sisältämät objektit: Objektin nimen alun kirjoittaminen listaa osajoukon objekteista: Yksityiskohtaisempi listaus, joka sisältää objektin koon ja päivämäärän, saadaan valitsimella-l
Valitsin -d saa a-list-komennon tulkitsemaan objektinimissä olevat /-merkit pseudokansioiden erottimiksi.
a-publish
a-publish kopioi tiedoston Allakseen ämpäriin, jota voidaan käyttää julkisesti. Näin kuka tahansa, jolla on
ladatun dataobjektin osoite (URL), voi lukea ja ladata datan verkkoselaimella tai työkaluilla kuten wget ja curl.
a-publish toimii samankaltaisesti kuin a-put, mutta siinä on joitakin eroja:
1) a-publish voi ladata vain tiedostoja, ei hakemistoja.
2) Kohdeämpärin käyttöoikeudet asetetaan niin, että se on kaikkien käyttäjien saatavilla vain luku -tilassa.
Perussyntaksi:
Oletusarvoisesti tiedosto ladataan ämpäriin username-projectNumber-pub. Voit määrittää muita ämpärinimiä valitsimella -b. Huomaa, että tämä komento tekee kaiken kohdeämpärissä olevan datan julkisesti saataville, mukaan lukien data, joka on aiemmin ladattu kyseiseen ämpäriin.Dataobjektin julkinen URL on:
https://a3s.fi/username-projectNumber-pub/object_name
a-publish-komennolla ladattu objekti voidaan poistaa Allaksesta komennolla a-delete_.
Esimerkkisessio a-publish-komennolla, jossa asiakirja presentation.pdf ladataan Allaksen oletusjulkiseen ämpäriin:
$ a-publish presentation.pdf
Files to be uploaded: presentation.pdf
Bucket: kkayttaj-1234567-pub
Processing: presentation.pdf
Checking total size of presentation.pdf. Please wait.
Uploading data to allas.
Transferred: 4.188M / 4.188 MBytes, 100%, 7.700 MBytes/s, ETA 0s
Errors: 0
Checks: 0 / 0, -
Transferred: 1 / 1, 100%
Elapsed time: 500ms
Confirming upload...
presentation.pdf OK
Adding metadata for uploaded presentation.pdf
presentation.pdf uploaded to kkayttaj-1234567-pub
Publick link: https://a3s.fi/kkayttaj-1234567-pub/presentation.pdf
Upload ready
a-flip
a-flip on työkalu yksittäisten tiedostojen saattamiseen väliaikaisesti saataville internetin kautta. Se on tarkoitettu tilanteisiin, joissa
haluat tehdä tiedostosta kopion näkyväksi internetissä lyhyeksi aikaa esimerkiksi kopiointia varten toiselle alustalle, jota jaat työtoverin kanssa.
a-flip kopioi tiedoston Allakseen ämpäriin, jota voidaan käyttää julkisesti. Näin kuka tahansa, jolla on ladatun dataobjektin osoite (URL),
voi lukea ja ladata datan verkkoselaimella tai työkaluilla kuten wget ja curl.
a-flip toimii samankaltaisesti kuin a-publish, mutta siinä on joitakin eroja:
- Vain ennalta määritettyä ämpärinimeä (username-projectNumber-flip) voidaan käyttää.
- Suorituksen yhteydessä se tarkistaa flip-ämpärin sisällön ja poistaa objektit, jotka ovat yli kaksi päivää vanhoja.
Perussyntaksi:
Tiedosto ladataan ämpäriin username-projectNumber-flip. Ladatun objektin URL:a-find
a-find-komento listaa ja paikantaa dataa, joka on ladattu Allakseen a-put-komennolla.
Perussyntaksi:
Hakutermiä verrataan Allakseen ladattujen tiedostojen nimiin ja alkuperäisiin polkuihin, ja vastaavat objektit raportoidaan (mutta niitä ei ladata).
Hakutermi käsitellään säännöllisenä lausekkeena, jossa joillakin merkeillä, esimerkiksi pisteellä (.), on erityinen merkitys. Samaa säännöllisten lausekkeiden syntaksia käytetään esimerkiksi komennoissa grep, awk ja sed. Yleisimmät erikoismerkit:
- Piste (.) määrittää minkä tahansa yksittäisen merkin.
- ^ merkitsee rivin alkua.
- $ merkitsee rivin loppua.
- [ ] vastaa mitä tahansa hakasulkeiden sisällä olevaa merkkiä. Esimerkiksi [abc] vastaisi merkkiä a, b tai c.
- [^ ] vastaa mitä tahansa merkkiä paitsi hakasulkeiden sisällä olevia merkkejä.
Esimerkiksi [^abc] valitsisi kaikki rivit, jotka sisältävät muita merkkejä kuin a, b ja c. - * vastaa nollaa tai useampaa edeltävää merkkiä tai lauseketta.
\{n,m\}vastaa n:ää–m:ää edeltävän merkin tai lausekkeen esiintymää.
Valitsimet:
- -a, --all Oletusarvoisesti haetaan vain
a-put-komennon käyttämiä vakioämpäreitä. Valitsin--allmäärittää, että kaikki projektin ämpärit sisällytetään hakuun. - -f, --files Listaa objektinimien lisäksi objektien sisällä olevien vastaavien tiedostojen nimet.
- -p,--project project_ID Etsi osumia määritetyn projektin ämpäreistä nykyisin määritetyn projektin sijaan.
- -b, --bucket bucket_name Oletusarvoisesti haetaan kaikista
a-put-komennon käyttämistä oletusämpäreistä. Valitsin -bucket mahdollistaa yhden ämpärin määrittämisen hakua varten. Käytä tätä valitsinta myös silloin, kun olet tallentanut dataa ämpäriin, jolla on epästandardi nimi. - -s, -silent Tulosta vain objektien nimet ja osumien määrä. Jos käytetään valitsinta -f, tulosta objektin nimi ja vastaavat tiedostonimet samalla rivillä.
a-info
Komennolla a-info voit saada tietoa aineistosta, joka on ladattu Allakseen a-put-komennolla.
a-get
Tätä työkalua käytetään Allas-palveluun a-put-komennolla ladatun datan lataamiseen.
Perussyntaksi:
-target.
Valitsimet:
- -p, --project project_ID Hae data määritetyn projektin ämpäreistä nykyisin määritetyn projektin sijaan.
- -f, --file file_name Hae tallennetusta aineistosta vain tietty tiedosto tai hakemisto. Huom.: Määritä tiedoston tai hakemiston koko polku tallennetun objektin sisällä.
- -d --target_dir
Jos tämä valitsin on määritetty, luodaan uusi kohdehakemisto ja data haetaan sinne. - -t --target_file
Määritä ladattavalle objektille tiedostonimi. - -l --original_location Hae data takaisin alkuperäiseen sijaintiin hakemistorakenteessa.
- --asis Lataa objekti purkamatta tar-tiedostoja ja avaamatta zst-pakattua dataa.
- --s3s3cmd Käytä datan hakuun S3-protokollaa ja s3cmd-komentoa Swift-protokollan ja rclone-komennon sijasta.
Tällä hetkellä a-get voi ladata vain yhden objektin kerrallaan. Jos sinun täytyy ladata suuri määrä objekteja, sinun on käytettävä silmukoita. Esimerkiksi kaikkien ämpärissä bucket_123 olevien objektien lataamiseen voit käyttää komentoja:
#make a list of objects
a-list bucket_123 > object_list_bucket123
#use the list in for loop
for ob in $(cat object_list_bucket123)
do
a-get $ob
done
#remove the object list
rm object_list_bucket123
a-delete
a-delete-komentoa käytetään Allas-palveluun a-put-komennolla ladatun datan poistamiseen.
Komennon perussyntaksi on:
Oletusarvoisesti a-delete pyytää käyttäjää vahvistamaan objektin poistamisen. Tämä tarkistus voidaan ohittaa valitsimella -f.
Jos haluat poistaa ämpärin, voit käyttää valitsinta --rmb. Oletusarvoisesti a-delete --rmb poistaa vain tyhjät ämpärit. Jos haluat poistaa ei-tyhjän ämpärin, sinun on lisättävä komentoon valitsin --FORCE.
a-access
Oletusarvoisesti vain projektin jäsenet voivat lukea ja kirjoittaa ämpärissä olevaa dataa. Projektin jäsenet voivat myöntää ämpärille ja sen sisältämille objekteille luku- ja kirjoitusoikeuden muille Allas-projekteille tai tehdä ämpäristä julkisesti internetin kautta käytettävän.
a-access on työkalu Allaksen ämpärin käyttöoikeuksien (swift-protokolla) hallintaan.
Syntaksi
Valitsimet:- +r, +read
Myönnä projektille lukuoikeus ämpäriin. - +w, +write
Myönnä projektille kirjoitusoikeus ämpäriin. - +rw, +read-write
Myönnä projektille luku- ja kirjoitusoikeus ämpäriin. - -r, -read
Poista lukuoikeus ämpäristä. - -w, -write
Poista kirjoitusoikeus ämpäristä. - -rw, -read-write
Poista projektilta luku- ja kirjoitusoikeus ämpäriin. - +p, +public Anna ämpärille julkinen vain luku -käyttöoikeus.
- -p, -public Poista ämpärin julkinen vain luku -käyttöoikeus.
Esimerkiksi jotta projektin project_2001234 jäsenille annetaan vain luku -oikeus ämpäriin my_data_bucket, voit käyttää komentoa:
Käyttöoikeudet asetetaan vastaavasti myös vastaavaan segments-ämpäriin.Huomaa, että ämpärien listaustyökalut eivät näytä muiden projektien ämpärien nimiä, eivät edes silloin, kun projektilla on ämpäriin luku- ja/tai kirjoitusoikeus.
Esimerkiksi tässä tapauksessa käyttäjä, joka kuuluu projektiin project_2001234, ei näe my_data_bucket-ämpäriä komennon tuottamassa ämpärilistassa:
mutta käyttäjä voi silti listata tämän ämpärin sisällön komennolla:Ja ladata objekteja ämpäristä komennolla
a-get.
a-access hallitsee käyttöoikeuksia vain projektin ja ämpärin tasolla.
Käytä komentoa swift post monipuolisempaan käyttöoikeuksien hallintaan.
Jos suoritat a-access-komennon ämpärille ilman mitään muutosvalitsimia,
se tulostaa ämpärin nykyiset asetukset.
a-komentojen määrittäminen
Käyttäjä voi muokata a-komentojen oletusasetuksia tekemällä kotihakemistoonsa asetustiedoston nimeltä .a_tools_conf. Tässä tiedostossa voit asettaa oletusarvoja monille toiminnoille, jotka määritetään a-put-komennon valitsimilla.
Jos esimerkiksi työskentelet enimmäkseen tiedostojen kanssa, jotka hyötyisivät pakkauksesta, saatat haluta käyttää a-put-komennon valitsinta --compress. Jos haluat tämän oletusasetukseksi, voit luoda tiedoston .a_tools_conf,
joka sisältää asetuksen:
Voit tarkistaa yleisimmin käytetyt asetukset tästä esimerkkitiedostosta .a_tools_conf. Kopioi esimerkkitiedosto kotihakemistoosi ja poista kommenttimerkki sekä määritä ne muuttujat, joita haluat käyttää.