forked from DSIT/documentation-dsit
Actualiser docs/Services/pole-scientifique/Onyxia/docs/stockage.md
This commit is contained in:
parent
bed3a4be4b
commit
7b2c71e1f5
|
@ -141,60 +141,9 @@ L'accès au stockage MinIO est possible via un token (jeton d'accès) personnel,
|
|||
**Copier les fichiers dans le service local n'est généralement pas une bonne pratique** : cela limite la reproductibilité des analyses, et devient rapidement impossible avec des volumes importants de données. Il est donc préférable de prendre l'habitude d'importer les données comme des fichiers directement dans `R`/`Python`.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### R
|
||||
|
||||
```r
|
||||
BUCKET <- "donnees-insee"
|
||||
FILE_KEY_S3 <- "diffusion/BPE/2019/BPE_ENS.csv"
|
||||
|
||||
df <-
|
||||
aws.s3::s3read_using(
|
||||
FUN = readr::read_delim,
|
||||
# Mettre les options de FUN ici
|
||||
delim = ";",
|
||||
object = FILE_KEY_S3,
|
||||
bucket = BUCKET,
|
||||
opts = list("region" = "")
|
||||
)
|
||||
```
|
||||
|
||||
#### Python
|
||||
|
||||
Le package S3Fs permet d'interagir avec les fichiers stockés sur MinIO comme s'il s'agissait de fichiers locaux. La syntaxe est donc très familière pour les utilisateurs de Python. Par exemple, pour importer/exporter des données tabulaires via `pandas` :
|
||||
|
||||
```python
|
||||
import pandas as pd
|
||||
|
||||
BUCKET = "donnees-insee"
|
||||
FILE_KEY_S3 = "diffusion/BPE/2019/BPE_ENS.csv"
|
||||
FILE_PATH_S3 = BUCKET + "/" + FILE_KEY_S3
|
||||
|
||||
with fs.open(FILE_PATH_S3, mode="rb") as file_in:
|
||||
df_bpe = pd.read_csv(file_in, sep=";")
|
||||
```
|
||||
|
||||
#### mc
|
||||
|
||||
Pour copier les données d'un bucket sur MinIO vers le service local :
|
||||
|
||||
```bash
|
||||
mc cp s3/donnees-insee/diffusion/BPE/2019/BPE_ENS.csv ./BPE_ENS.csv
|
||||
```
|
||||
|
||||
::: {.callout-warning}
|
||||
**Copier les fichiers dans le service local n'est généralement pas une bonne pratique** : cela limite la reproductibilité des analyses, et devient rapidement impossible avec des volumes importants de données. Il est donc préférable de prendre l'habitude d'importer les données comme des fichiers directement dans `R`/`Python`.
|
||||
:::
|
||||
|
||||
:::
|
||||
|
||||
### Exporter des données vers MinIO
|
||||
|
||||
::: {.panel-tabset}
|
||||
|
||||
#### R
|
||||
=== "R"
|
||||
|
||||
```r
|
||||
BUCKET_OUT = "<mon_bucket>"
|
||||
|
@ -209,8 +158,7 @@ aws.s3::s3write_using(
|
|||
)
|
||||
```
|
||||
|
||||
#### Python
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
BUCKET_OUT = "<mon_bucket>"
|
||||
FILE_KEY_OUT_S3 = "mon_dossier/BPE_ENS.csv"
|
||||
|
@ -220,16 +168,13 @@ with fs.open(FILE_PATH_OUT_S3, 'w') as file_out:
|
|||
df_bpe.to_csv(file_out)
|
||||
```
|
||||
|
||||
#### mc
|
||||
|
||||
=== "mc"
|
||||
Pour copier les données du service local vers un bucket sur MinIO:
|
||||
|
||||
```bash
|
||||
mc cp chemin/local/vers/mon/fichier.csv s3/<mon_bucket>/chemin/distant/vers/mon/fichier.csv
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
### Renouveler des jetons d'accès (*tokens*) périmés
|
||||
|
||||
L'accès au stockage MinIO est possible via un _token_ (jeton d'accès) personnel, valide 24h, et automatiquement régénéré à échéances régulières sur le SSP Cloud. Lorsqu'un token a expiré, les services créés avant la date d'expiration (avec le précédent token) ne peuvent plus accéder au stockage ; le service concerné apparaît alors marqué en rouge dans la page <a href="https://onyxia.lab.groupe-genes.fr/my-services" target="_blank">Mes Services</a>. Dans ce cas, deux possibilités :
|
||||
|
|
Loading…
Reference in New Issue
Block a user