-
Allas-asiakasohjelmat
-
a-command
a-komennot, helppoja ja turvallisia
Allas-oliontallennusjärjestelmää voidaan käyttää monin tavoin ja moniin tarkoituksiin. Monissa tapauksissa Allaksen tehokas käyttö edellyttää, että käyttäjä tuntee sekä oliontallennusjä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 Allakseen |
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 Allakseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-flip |
GitHub | Lataa tiedosto väliaikaisesti Allakseen ä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 Allaksessa |
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 varmuuskopio paikallisesta aineistosta 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 Allakseen. 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ä ohjevalintaa --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 kopiointi Puhdin scratch-hakemiston ja Allaksen välillä
Datan kopiointi 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 levy-ympä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 valinnalla -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 sijainnissa /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 valinnalla -o tai
--object:
Yllä oleva komento lataa tiedoston test_1.txt Allakseen ämpäriin newbucket1 objektina case1.txt.zst. Koska valintaa -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 tieto 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 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 komentorivivalinnat 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 valinnan --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ä.
Sen lisäksi, että a-check-komennolla voidaan tarkistaa, onnistuiko lataus, sitä voidaan käyttää a-put-komennon "dry-run"-testiin, jotta nähdään, 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 objektilistaukset pysyvät lyhyempinä.
a-list-esimerkkejä
Listaa kaikki projektiin kuuluvat ämpärit:
Näytä ämpäriin sisältyvät objektit: Objektin nimen osan kirjoittaminen listaa objektien osajoukon: Yksityiskohtaisempi listaus, joka sisältää objektin koon ja päivämäärän, saadaan valinnalla-l
Valinta -d saa a-list-komennon tulkitsemaan objektinimissä olevat /-merkit pseudokansioiden erottimiksi.
a-publish
a-publish kopioi tiedoston Allakseen ämpäriin, johon voidaan päästä 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ä valinnalla -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 dokumentti 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
Public 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ä tiedoston kopion näkyväksi internetissä lyhyeksi aikaa, esimerkiksi kopiointia varten toiselle alustalle, jota jaat työtoverin kanssa.
a-flip kopioi tiedoston Allakseen ämpäriin, johon voidaan päästä 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 yli kaksi päivää vanhat objektit.
Perussyntaksi:
Tiedosto ladataan ämpäriin username-projectNumber-flip. Ladatun objektin URL:a-find
Komento a-find 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 (.) tarkoittaa mitä tahansa yksittäistä merkkiä.
- ^ 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ää.
Valinnat:
- -a, --all Oletusarvoisesti haetaan vain
a-put-komennon käyttämiä vakioämpäreitä. Valinta--allmäärittää, että hakuun sisällytetään kaikki projektin ämpärit. - -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ä. Valinnalla -bucket voit määrittää haun yhteen ämpäriin. Käytä tätä valintaa myös silloin, kun olet tallentanut dataa epästandardin nimiseen ämpäriin. - -s, -silent Tulosta vain objektien nimet ja osumien määrä. Jos käytetään valintaa -f, tulosta objektin nimi ja vastaavat tiedostonimet samalla rivillä.
a-info
Komennolla a-info saat 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.
Valinnat:
- -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ä valinta 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 valinnalla -f.
Jos haluat poistaa ämpärin, voit käyttää valintaa --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 valinta --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 saatavilla olevan.
a-access on työkalu Allaksen ämpärin käyttöoikeuksien (swift-protokolla) hallintaan.
Syntaksi
Valinnat:- +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 jos haluat sallia projektin project_2001234 jäsenille vain luku -oikeuden ä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 ämpäriä my_data_bucket 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 projekti- ja ämpäritasolla.
Käytä komentoa swift post monipuolisempaan käyttöoikeuksien hallintaan.
Jos suoritat a-access-komennon ämpärille ilman mitään muutosvalintoja,
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ääritellään a-put-komennon valinnoilla.
Jos esimerkiksi työskentelet enimmäkseen tiedostojen kanssa, jotka hyötyisivät pakkauksesta, saatat haluta käyttää a-put-komennon valintaa --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 niiltä riveiltä sekä määritä ne muuttujat, joita haluat käyttää.