-
Allas-asiakasohjelmat
-
a-command
a-komennot, helppoja ja turvallisia
Allas-objektitallennusjärjestelmää voidaan käyttää monella tavalla ja moneen tarkoitukseen. Monissa tapauksissa Allaksen tehokas käyttö edellyttää, että käyttäjä tuntee sekä objektitallennusjärjestelmän ominaisuudet että ohjelmiston tai protokollan, jolla Allaksessa olevaa dataa hallitaan.
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-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 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 varmuuskopio paikallisesta aineistosta Allaksessa olevaan varmuuskopiorepositorioon.allas-mount: Liitä Allaksen ämpäri paikallisessa ympäristössä käytettäväksi 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 5 GB: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 Roihussa, lataa ensin a-komennot:
Määritä Allas-yhteys komennolla allas-conf.
Roihussa allas-conf ja a-komennot käyttävät oletuksena S3-protokollaa. Jos haluat käyttää Swift-protokollaa, joka oli oletusarvoinen Allas-protokolla CSC:n vanhemmissa supertietokoneissa, sinun täytyy lisätä valitsin --swift sekä allas-conf-komentoon
että a-komentoihin. Esimerkiksi:
Datan kopiointi Roihun 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-roihu-scratch objektina dataset_3.tar. Allaksessa käytettävissä olevat dataämpärit voidaan listata komennolla: Ja ämpärin 201234-roihu-scratch sisältö voidaan listata komennolla: Allakseen tallennettu hakemisto voidaan hakea takaisin Roihuun komennolla:a-komennot tarkemmin
a-put
a-put-komentoa käytetään datan lataamiseen Roihun levyympäristöstä
Allaksen tallennusympäristöön. Komennon perussyntaksi:
Oletuksena 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 S3-protokollalla.
Oletuksena a-put käyttää vakioämpäri- ja objektinimiä, jotka riippuvat käyttäjänimestä, projektista ja ladatun datan
sijainnista:
- a) Data hakemistosta /scratch Roihussa ladataan ämpäriin projectNumber-rahti-scratch
- b) Data hakemistosta /project Lumissa ladataan ämpäriin projectNumber-lumi-o-project
- c) Data hakemistosta /flash Lumissa ladataan ämpäriin projectNumber-lumi-o-flash
- d) Data hakemistosta /projappl Roihussa ladataan ämpäriin projectNumber-roihu-projappl _
- f) Muissa tapauksissa data ladataan ämpäriin username-projectNumber-misc
Esimerkiksi käyttäjälle kkayttaj, joka on projektin 12345 jäsen, 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.
Tapauksissa, joissa ämpärin nimeä ei ole määritetty ja käytetään oletusämpäreitä, objektin nimi riippuu tiedoston nimestä ja sijainnista. T Roihun mahdollinen alihakemistopolku sisällytetään objektin nimeen, esimerkiksi tiedosto nimeltä test_1.txt hakemistossa /scratch/project_2012345 Roihussa voidaan tallentaa komennoilla:
Tässä tapauksessa tiedosto tallennetaan ämpäriin 2012345-roihu-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-roihu-scratch objektina kkayttaj/project2/test_1.txt.Varsinaisen dataobjektin lisäksi luodaan toinen objekti, joka sisältää metadatan. 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 rclone, näet myös nämä metadataobjektit.
Huomaa, että jos määrität kohdeämpärin valitsimella -b, hakemiston sijaintia ei sisällytetä objektin nimeen.
Esimerkkikomennot:
Tallentaisivat datan Allakseen sijaintiin: 2012345-data/test_1.txtJos haluat käyttää oletusobjektinimestä poikkeavaa nimeä, voit määrittää sen valitsimella -o tai
--object; mahdollinen pseudokansiopolku täytyy sisällyttää ämpärin nimen määrittelyyn:
Yllä oleva komento lataa tiedoston test_1.txt Allakseen ämpäriin 2012345-data objektina dir_a/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.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 osan kirjoittaminen listaa objektien osajoukon: Tarkempi 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 pseudokansioerottimiksi.
a-publish
a-publish kopioi tiedoston Allakseen ämpäriin, johon voidaan päästä julkisesti käsiksi. 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:
Oletuksena 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 ä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 käsiksi. 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 edeltävän merkin tai lausekkeen n:ää–m:ää esiintymää.
Valitsimet:
- -a, --all Oletuksena 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 Hae osumia määritetyn projektin ämpäreistä nykyisin määritetyn projektin sijaan.
- -b, --bucket bucket_name Oletuksena 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 yhdelle riville.
a-info
Komennolla a-info saat tietoa aineistosta, joka on ladattu Allakseen a-put-komennolla.
a-get
Tätä työkalua käytetään a-put-komennolla Allas-palveluun ladatun datan lataamiseen.
Perussyntaksi:
-target.
Valitsimet:
- -f, --file file_name Hae vain tietty tiedosto tai hakemisto tallennetusta aineistosta. 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.
- --swift Käytä datan hakemiseen Swift-protokollaa S3-protokollan sijaan.
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 poistamaan dataa, joka on ladattu Allas-palveluun a-put-komennolla.
Komennon perussyntaksi on:
Oletuksena 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. Oletuksena a-delete --rmb poistaa vain tyhjät ämpärit. Jos haluat poistaa ei-tyhjän ämpärin, sinun täytyy lisätä komentoon valitsin --FORCE.
a-access
Oletuksena 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 kirjoitusoikeuksia muille Allas-projekteille tai tehdä ämpäristä julkisesti internetin kautta saavutettavan.
a-access on työkalu Allaksen ämpärin käyttöoikeuksien hallintaan (Swift-protokolla).
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 jos haluat sallia projektin project_2001234 jäsenille vain luku -oikeuden ämpäriin my_data_bucket, voit käyttää komentoa:
Käyttöoikeudet asetetaan vastaavalle segments-ämpärille samalla tavalla.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ä swift post -komentoa 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ääritellään a-put-komennon valitsimilla.
Jos esimerkiksi haluat vaihtaa a-komennot käyttämään oletuksena Swift-protokollaa, 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ää.