a-komennot, helppo ja turvallinen
Allas-objektivarastojärjestelmää voidaan käyttää monin tavoin ja moniin tarkoituksiin. Usein Allaksen tehokas käyttö vaatii, että käyttäjä tuntee sekä objektivarastojärjestelmän että sen ohjelmiston tai protokollan ominaisuudet, joita käytetään Allaksen datanhallintaan.
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 | help | Lataa tiedosto tai hakemisto Allakseen |
a-check | help | Tarkista, löytyvätkö kaikki objektit, jotka a-put -komennon pitäisi luoda, Allaksesta |
a-list | help | Listaa ämpärit ja objektit Allaksessa |
a-publish | help | Lataa tiedosto Allakseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-flip | help | Lataa tiedosto tilapäisesti Allakseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-get | help | Lataa tallennettu datasetti (objekti) Allaksesta |
a-find | help | Etsi ja paikanna a-put:lla ladattua dataa |
a-delete | help | Poista objekti Allaksesta |
a-info | help | Näytä tietoja Allaksen objektista |
a-access | help | Hallitse ämpärin käyttöoikeuksia Allaksessa |
a-stream | help | Striimaa objektin sisältö standardilähtöön |
a-encrypt | help | Tee salattu kopio Allakseen ladatusta objektista |
Lisäksi on erillisiä työkaluja muita tarkoituksia varten:
- allas_conf : Määritä ja avaa yhteys Allakseen
- allas-backup : Luo varmuuskopio paikallisesta datasetistä Allaksen varmuusvarastoon.
- allas-mount : Liitä Allaksen ämpäri käytettäväksi vain luku -hakemistona paikallisympäristössä.
- allas-health-check : Tarkista yli 5 GB objekti
eista Allaksen eheys. * allas-dir-to-bucket : kopioi paikallinen tiedosto tai hakemisto Allakseen. Rinnakkaisia latausprosesseja käytetään yli 5GB kokoisille tiedostoille.
Jos käytät a-komentoja superkoneiden ulkopuolella, tarkista allas-cli-utils dokumentointi näiden työkalujen asentamisesta.
Alla keskustellaan lyhyesti a-komentojen yleisimmin käytetyistä ominaisuuksista. Uusia ominaisuuksia lisätään a-komentoihin silloin tällöin, eikä niitä välttämättä käsitellä alla olevissa esimerkeissä. Käytä ohje-vaihtoehtoa --help
tarkistaaksesi komennon erityistiedot. Esimerkiksi:
Esimerkki: Datan tallentaminen työtilahakemistosta Allakseen
Yhteyden avaaminen
Jotta voit käyttää näitä työkaluja Puhtissa ja Mahtissa, lataa ensin a-komennot:
Avaa sitten yhteys Allakseen: Yhteys pysyy auki kahdeksan tuntia. Voit ajaa allas-conf -komennon milloin tahansa uudelleen jatkaaksesi yhteyden voimassaoloa uudestaan kahdeksan tuntia tai siirtyäksesi toiseen Allas projektiin.Oletuksena, allas-conf listaa projektisi, joilla on pääsy Allakseen, mutta jos tiedät projektin nimen, voit myös antaa sen argumenttina:
Huomaa, että Allas-projektin ei tarvitse olla sama kuin projekti, jota käytät Puhtissa tai Mahtissa.Jos suoritat suuria, monivaiheisia prosesseja (esim. erätöitä), voi olla, että datanhallintaputkesi kestää yli kahdeksan tuntia. Näissä tapauksissa voit lisätä -k -vaihtoehdon allas-conf
komentoon.
Datan kopioiminen Puhti scratch -hakemiston ja Allaksen välillä
Datan kopioiminen hakemistosta /scratch/project_201234/dataset_3 Allakseen:
Hakemiston dataset_3 data tallennetaan oletusämpäriin 201234-puhti-SCRATCH objektina: dataset_3.tar. Allaksen saatavilla olevat dataämpärit voidaan listata komennolla: Ja komentaa 201234-puhti-SCRATCH voidaan listata komennolla: Hakemisto, joka tallennettiin Allakseen, voidaan hakea takaisin Puhtille komennolla:A komennot tarkemmin
a-put lataa dataa Allakseen
Komennolla a-put
ladataan dataa Mahtin ja Puhtin levy-ympäristöstä
Allas-tallennusympäristöön. Komennon perussyntaksi:
Oletuksena tämä työkalu tekee seuraavat toimenpiteet:
-
Varmista, että Allas-tallennuspalveluun on toimiva yhteys ja määritä projekti, jota käytetään datan tallennukseen.
-
Hakemiston tapauksessa hakemiston sisältö kerätään yhdeksi tiedostoksi käyttäen
tar
-komentoa. -
Pakattu data ladataan Allakseen käyttäen
rclone
-komentoa ja Swift-protokollaa.
Oletuksena a-put käyttää vakioämpäri- ja objektinimiä, jotka riippuvat käyttäjätunnuksesta, projektista ja ladatun datan sijainnista:
- a) Data Puhtin /scratch:sta ladataan ämpäriin projectNumber-puhti-SCRATCH
- b) Data Mahtin /scratch:sta ladataan ämpäriin projectNumber-mahti-SCRATCH
- c) Data Puhtin /projappl:sta ladataan ämpäriin projectNumber-puhti-PROJAPPL
- d) Data Mahtin /projappl:sta ladataan ämpäriin projectNumber-mahti-PROJAPPL
- e) Data Puhtin $LOCAL_SCRATCH:sta ladataan ämpäriin projectNumber-puhti-LOCAL_SCRATCH
- f) Muissa tapauksissa data ladataan username-projectNumber-MISC
Esimerkiksi käyttäjälle kkayttaj, joka on projektin 12345 jäsen, HOME-hakemistoon sijoitettu data ladataan ämpäriin kkayttaj-12345-MISC.
Jos haluat käyttää jotain muuta kuin vakioämpäriä, voit määrittää ämpärin nimen vaihtoehdolla -b tai
--bucket.
Pakatut datasetit tallennetaan yhtenä objektina. Oletuksena objektin nimi riippuu tiedoston nimestä ja sijainnista. Mahdollinen alihakemistopolku Puhtissa tai Mahtissa sisällytetään objektin nimeen, esim. tiedosto nimeltä test_1.txt Puhtin /scratch/project_2012345 -hakemistossa voidaan tallentaa käyttämällä seuraavia komentoja:
Tässä tapauksessa tiedosto tallennetaan ämpäriin 2012345-puhti-SCRATCH. objektiksi test_1.txt
Jos sinulla on toinen tiedosto nimeltä test_1.txt sijainnissa /scratch/project_2012345/kkayttaj/project2/, voit tallentaa sen seuraavilla 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ämä metadataobjekti on samaa nimeä kuin pääobjekti lisällä _ameta. Tätä metatiedostoa käytetään muissa a-komentoissa, ja normaalisti sitä ei näytetä käyttäjälle, mutta jos tarkastelet ämpäreitä työkaluilla kuten swift tai rclone, näet myös nämä metatiedot.
Jos haluat käyttää nimeä, joka poikkeaa vakiomuotoisesta objektinimestä, voit määrittää sen vaihtoehdolla -o tai
--object:
Yllä oleva komento lataa tiedoston test_1.txt Allakseen ämpäriin newbucket1 objektina case1.txt.zst. Koska vaihtoehtoa -c käytetään, data tallennetaan zstd-pakatussa muodossa.
Voit antaa a-put -komennolle useita tiedosto- tai hakemistonnimiä ja käyttää * merkkiä jokerina ladattavan datan nimeämisessä. Huomaa, että näissä tapauksissa jokainen kohde (tiedosto tai hakemisto) tallennetaan erillisenä objektina. Esimerkiksi, sanotaan, että meillä on job123 -hakemisto, joka sisältää tiedostot input1.txt, input2.txt ja program.py. Lisäksi on hakemistot output_dir_1 ja output_dir_2.
Komento:
lataa output_dir_1:n sisällön objektiksi job123/output_dir_1.tar ja input1.txt:n job123/input1.txt.Vastaavasti komento:
lataa output_dir_1:n sisällön objektiksi job123/output_dir_1.tar ja output_dir_2:n sisällön objektiksi job123/output_dir_2.tar.Jos datasetit ovat suurempia kuin 5 GB, ne jaetaan ja tallennetaan useina objekteina. Tämä tapahtuu automaattisesti ämpäriin, jonka nimi on lisätty alkuperäiseen ämpärin nimeen laajennos segments. Esimerkiksi, jos ladattaisiin suuri tiedosto ämpäriin kkayttaj-12345-MISC tosiasiassa dataa tallennettaisiin useina osina ämpäriin kkayttaj-12345-MISC_segments. Kohdeämpäriin (kkayttaj-12345-MISC) jää ainoastaan etuobjekti, joka sisältää tiedot siitä, mitkä segmentit muodostavat tallennetun datasetin. Toimintojen suorittaminen etuobjektille heijastuu automaattisesti segmentteihin. Käyttäjien ei normaalisti tarvitse toimia segmenttiämpäreiden kanssa, eikä näiden ämpärien objekteja pitäisi poistaa tai muokata.
a-check
Tämä komento käy läpi Allaksessa objektinimet, jotka vastaava a-put
-komento loisi, ja tarkistaa, löytyykö samalla nimellä oleva objekti jo Allaksesta. Komennon pääasiallinen tarkoitus on tarjota työkalu suuren a-put
-komennon onnistumisen tarkistamiseksi. a-check
hyväksyy samat komentorivivaihtoehdot kuin a-put
.
Esimerkiksi, jos datasetti ladataan komennolla:
Lataus voidaan tarkistaa komennolla: a-check -komento vertaa ladattavien kohteiden nimiä Allas-objekteihin. Kohteet, joilla ei ole kohdeobjektia Allaksessa, raportoidaan ja tallennetaan tiedostoon: missing_bucket-name_number. Jos jokin kohteista yllä olevassa esimerkissä puuttuisi, niin a-check listaisi puuttuvat tiedostot ja hakemistot tiedostossamissing_job123_67889
(suorassa numerossa lopussa on vain satunnainen numero).
Tätä puuttuvien kohteiden tiedostoa voidaan käyttää a-put-vaihtoehdon --input-list kanssa jatkamaan epäonnistunutta latausprosessia:
Huomaa, että a-check ei tarkista, onko varsinaisen objektin sisältö oikein. Se tarkistaa vain objektinimet, jotka saattavat olla peräisin joistakin muista lähteistä.
Paitsi että a-check tarkistaa, oliko lataus onnistunut, sitä voidaan käyttää myös "kuiva-ajo" -testiin ennen varsinaisen a-put -komennon suorittamista, jotta nähdään, mitä objekteja luodaan tai korvataan.
a-list
a-list -komennolla näytetään tiedot Allakseen tallennettujen ämpäreiden ja objektien nimistä. a-list on suunniteltu käytettäväksi a-puta -komennolla ladatuille objekteille, mutta se näyttää kuitenkin myös muiden työkalujen avulla ladatut objektit. Se ei kuitenkaan näytä a-put:n luomia ameta -metatiedostoja pitääkseen objektin listaukset lyhyinä.
a-list esimerkkejä
Listaa projektin kaikki ämpärit:
Näytä ämpäriin sisältyvät objektit: Kirjoittamalla osa objektin nimestä listaa osajoukkoa objekteista: Tarkemman listauksen saamiseksi, joka sisältää objektin koon ja päivämäärän, voit käyttää vaihtoehtoa-l
Vaihtoehto -d
saa a-listin tulkitsemaan /-merkit objektin nimissä pseudokansion erottimina.
a-publish
a-publish
kopioi tiedoston Allakseen ämpäriin, johon on julkinen pääsy. Täten kuka tahansa ladatun dataobjektin osoitteen (URL) omaava henkilö voi lukea ja ladata datan joko verkkoselaimen tai työkalujen kuten wget ja curl avulla. a-publish toimii samankaltaisesti kuin a-put, muutamilla eroilla:
1) a-publish voi ladata vain tiedostoja, ei hakemistoja. 2) Kohdeämpärin käyttöoikeudet asetetaan siten, että se on saatavilla jokaiselle käyttäjälle vain luku -tilassa.
Perussyntaksi:
Oletuksena tiedosto ladataan ämpäriin username-projectNumber-pub. Voit määrittää muut ämpärien nimet käyttämällä vaihtoehtoa -b. Huomaa, että tämä komento tekee kaiken datan kohdeämpärissä julkisesti saataville, mukaan lukien jo aiemmin ämpäriin ladatun datan.Dataobjektin julkinen URL on:
https://a3s.fi/username-projectNumber-pub/tiedosto_nimi
Objektin, joka ladattiin a-publish -komennolla, voi poistaa Allaksesta käyttämällä a-delete -komentoa.
Näytteen istunto a-publish -komennon kanssa, esitellessä dokumentin presentation.pdf lataamista oletusarvoiseen julkiseen ämpäriin Allakseen:
a-publish presentation.pdf Ladattavat tiedostot: presentation.pdf Ämpäri: kkayttaj-1234567-pub Käsittely: presentation.pdf Tarkistetaan presentation.pdf:n koko. Odota hetki. Data ladataan ollakseen valmis kaikille. Siirretty: 4.188M / 4.188 MBytes, 100%, 7.700 MBytes/s, ETA 0s Virheet: 0 Tarkistukset: 0 / 0, - Siirrettyä: 1 / 1, 100% Kulunut aika: 500ms Latauksen vahvistus... presentation.pdf OK Lisätään metadata ladatulle presentation.pdf:lle presentation.pdf ladattu kkayttaj-1234567-pub Julksinen linkki: https://a3s.fi/kkayttaj-1234567-pub/presentation.pdf Lataus valmis
a-flip
a-flip
on työkalu yksittäisten tiedostojen tilapäiseen saatavuuteen internetin kautta. Se on tarkoitettu tilanteisiin, joissa halutaan tehdä tiedostosta kopio, joka on näkyvissä internetissä esimerkiksi toisen alustan kopioimista varten yhdessä työtoverin kanssa.
a-flip kopioi tiedoston Allakseen ämpäriin, johon on julkinen pääsy. Näin ollen kuka tahansa ladatun dataobjektin osoitteen (URL) omaava voi lukea ja ladata datan joko verkkoselaimen tai työkalujen kuten wget ja curl avulla. a-flip toimii samankaltaisesti a-publish:n kanssa, mutta muutamilla eroilla:
- Vain ennalta määritelty ämpärin nimi (username-projectNumber-flip) voidaan käyttää.
- Suoritettaessa 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 osoite:a-find
Komennolla a-find
listataan ja paikannetaan data, joka on ladattu Allakseen a-put
-komennolla.
Perussyntaksi:
Hakutermiä verrataan Allakseen ladattujen tiedostojen nimiin ja alkuperäisiin polkuihin ja vastaavat objektit raportoidaan (mutta ei ladattuina).
Hakutermi prosessoidaan säännöllisenä ilmaisuna, jossa joillakin merkkeillä, kuten pisteellä (.), on erityinen merkitys. Sama säännöllisten lausekkeiden syntaksi käytetään esimerkiksi grep, awk ja sed -komennoissa. Yleisimmin esiintyvät erikoismerkit:
- Piste (.) käytetään minkä tahansa yksittäisen merkin määrittelemiseen.
- ^ merkitsee rivin alkua.
- $ merkitsee rivin loppua.
- [ ] vastaa mitä tahansa merkkiä hakasulkeiden sisällä. Esimerkiksi [abc] vastaisi a, b tai c.
- [^ ] vastaa mitä tahansa merkkiä lukuun ottamatta hakasulkeiden sisäisiä merkkejä.
Esimerkiksi [^abc] valitsisi kaikki rivit, jotka sisältävät merkkejä, jotka eivät ole a, b ja c. - ** * ** vastaa nollaa tai useampaa edeltävää merkkiä tai ilmaisua.
\{n,m\}
vastaa n:stä m:ään edeltäviä merkkejä tai ilmauksia.
Vaihtoehdot:
- -a, --all Oletuksena vain a-put:n käyttämät vakiämpärit ets
itään. Vaihtoehto --all
määrittelee, että kaikki projektin ämpärit sisällytetään etsintään.
- -f, --files Listaa nimien lisäksi hakulausekkeen raamatullisista hakuparametreista vastaavat tiedostot.
- -p,--project project_ID Etsi vastineet määritetyn projektin ämpäreistä nykyisen konfiguroidun projektin sijaan.
- -b, --bucket bucket_name Oletuksena kaikki a-put -komennon käyttämät vakiämpärit ets
itään. Vaihtoehto -bucket mahdollistaa yksittäisen ämpärin määrittelemisen etsintään. Käytä tätä vaihtoehtoa myös tilanteissa, joissa olet tallentanut dataa epätavanomaisella nimellä olevaan ämpäriin. - -s, -silent Tulosta vain objektinimet ja osumien lukumäärä. Jos -f -vaihtoehtoa käytetään, tulosta objektin nimi ja vastaavat tiedostonimet yhdellä rivillä.
a-info näyttää tietoa ladatusta datasetistä
Komennolla a-info
voi saada tietoa datasetistä, joka on ladattu Allakseen käyttämällä a-put
-komentoa.
a-get hakee tallennettua dataa
Tätä työkalua käytetään ladatun datan lataamiseen, joka on ladattu Allas-palveluun käyttämällä a-put
-komentoa.
Perussyntaksi:
Vaihtoehdot:
- -p, --project project_ID Hae data projektin ämpäreistä nykyisen konfiguroidun projektin sijasta.
- -f, --file file_name Hae vain tietty tiedosto tai hakemisto tallennetusta datasetistä. Huom: Määritä koko polku tiedoston tai hakemiston sijainnille tallennetun objektin sisällä.
- -d --target_dir
Jos tätä vaihtoehtoa käytetään, luodaan uusi kohdehakemisto ja data haetaan sinne. - -t --target_file
Määritä tiedostonnimi ladattavalle objektille. - -l --original_location Hae data alkuperäiseen sijaintiin hakemistorakenteessa.
- --asis Lataa objekti ilman tar-tiedoston purkamista ja zst-pakatun datan avattamista.
- --s3cmd Käytä S3-protokollaa ja s3cmd-komentoa datan hakemiseen Swift-protokollan ja rclone-komennon sijaan.
Tällä hetkellä a-get voi ladata vain yhden objektin kerrallaan. Jos sinun tarvitsee ladata suuri määrä objekteja, sinun tarvitsee käyttää silmukoita. Esimerkiksi ladataksesi kaikki objektit ämpäristä bucket_123 , voit käyttää komentoja:
#tee listaus objekteista
a-list bucket_123 > object_list_bucket123
#käytä listaa for-silmukassa
for ob in $(cat object_list_bucket123)
do
a-get $ob
done
#poista objektilista
rm object_list_bucket123
a-delete
a-delete komennolla poistetaan dataa, joka on ladattu Allakseen a-put -komennolla. Komennon perussyntaksi on:
a-delete objektin_nimi
Oletuksena a-delete kysyy käyttäjältä vahvistusta objektin poistamiseen. Tämän tarkistuksen voi ohittaa vaihtoehdolla -f
.
Jos haluat poistaa ämpärin, voit käyttää vaihtoehtoa --rmb
. Oletuksena a-delete --rmb poistaa vain tyhjät ämpärit. Jos haluat poistaa muita kuin tyhjiä ämpäreitä, sinun on lisättävä --forcE.
a-access
Oletuksena vain projektin jäsenet voivat lukea ja kirjoittaa ämpärin dataa. Projektin jäsenet voivat avata luku- ja kirjoitusoikeudet ämpäriin ja sen sisältämiin objekteihin, muille Allas-projekteille tai tehdä ämpäri julkisesti saatavaksi internetiin.
a-access on työkalu hallita ämpärin käyttöoikeuksia (swift protokolla) Allaksessa.
Syntaksi
Vaihtoehdot:- +r, +read
Anna projektin lukuoikeus ämpäriin. - +w, +write
Anna projektin kirjoitusoikeus ämpäriin. - +rw, +read-write
Anna projektin luku- ja kirjoitusoikeus ämpäriin. - -r, -read
Poista projektin lukuoikeus ämpäristä. - -w, -write
Poista projektin kirjoitusoikeus ämpäristä. - -rw, -read-write
Poista projektin luku- ja kirjoitusoikeudet ämpäristä. - +p, +public Anna julkinen lukuoikeus ämpäriin.
- -p, -public Poista julkinen lukuoikeus ämpäristä.
Esimerkiksi, jotta projektin: project_2001234 jäsenet voisivat saada lukuoikeuden ämpäriin: my_data_bucket, voit käyttää komentoa:
Käyttöoikeudet asetetaan samalla tavalla myös väliämpärille segments bucket.Huomaa, että ämpärin listauksen työkalut eivät näytä muiden projektien ämpärien nimiä, edes siinä tapauksessa, että projektilla on luku- ja/tai kirjoitusoikeudet ämpäriin.
Esimerkiksi tässä tapauksessa käyttäjän, joka kuuluu projektiin project_2001234, ei näe my_data_bucket -ämpäriä ämpärin listauksessa komennolla:
mutta käyttäjä voi silti listata ämpärin sisällön komennolla:Ja ladata kohteita ämpäristä a-get:llä.
a-access hallitsee käyttöoikeuksia vain projektin ja ämpärin tasolla. Käytä swift post -komentoa monimutkaisempaan käyttöoikeuksien hallintaan.
Jos suoritat a-access -komennon ämpärille ilman muutoksia vaihtoehtoja, se näyttää ämpärin nykyiset asetukset.
a-komentojen konfigurointi
Userit voivat muokata a-komentojen oletusasetuksia tekemällä konfiguraatiotiedoston nimeltä .a_tools_conf kotihakemistoonsa. Tässä tiedostossa voi asettaa oletusasetuksia monille a-put -komennon vaihtoehtojen määrittelemille toiminnoille.
Esimerkiksi, jos työskentelet pääasiassa tiedostojen kanssa, jotka hyötyvät pakkauksesta, saatat haluta käyttää --compress -vaihtoehtoa a-put -komennossa. Jos haluat tämän olevan oletusasetus, voit luoda .a_tools_conf -tiedoston, joka sisältää:
Nyt komento: pakkkaisi datan latauksen aikana (mikä ei normaalisti ole tilanne). Kuitenkin, voit silti ohittaa pakkauksen vaihtoehdolla --nc.Voit tarkistaa yleisimmin käytetty vertaileja tästä esimerkistä .a_tools_conf. Kopioi esimerkkitiedosto kotihakemistoosi ja aktivoi ja määritä haluamasi muuttujat.