diff --git a/docs/Services/pole-scientifique/Onyxia/docs/stockage.md b/docs/Services/pole-scientifique/Onyxia/docs/stockage.md index 7d24dc6..ff86a4f 100644 --- a/docs/Services/pole-scientifique/Onyxia/docs/stockage.md +++ b/docs/Services/pole-scientifique/Onyxia/docs/stockage.md @@ -141,94 +141,39 @@ 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 = "" + FILE_KEY_OUT_S3 = "mon_dossier/BPE_ENS.csv" -```r -BUCKET_OUT = "" -FILE_KEY_OUT_S3 = "mon_dossier/BPE_ENS.csv" + aws.s3::s3write_using( + df, + FUN = readr::write_csv, + object = FILE_KEY_OUT_S3, + bucket = BUCKET_OUT, + opts = list("region" = "") + ) + ``` -aws.s3::s3write_using( - df, - FUN = readr::write_csv, - object = FILE_KEY_OUT_S3, - bucket = BUCKET_OUT, - opts = list("region" = "") -) -``` +=== "Python" + ```python + BUCKET_OUT = "" + FILE_KEY_OUT_S3 = "mon_dossier/BPE_ENS.csv" + FILE_PATH_OUT_S3 = BUCKET_OUT + "/" + FILE_KEY_OUT_S3 -#### Python + with fs.open(FILE_PATH_OUT_S3, 'w') as file_out: + df_bpe.to_csv(file_out) + ``` -```python -BUCKET_OUT = "" -FILE_KEY_OUT_S3 = "mon_dossier/BPE_ENS.csv" -FILE_PATH_OUT_S3 = BUCKET_OUT + "/" + FILE_KEY_OUT_S3 +=== "mc" + Pour copier les données du service local vers un bucket sur MinIO: -with fs.open(FILE_PATH_OUT_S3, 'w') as file_out: - df_bpe.to_csv(file_out) -``` - -#### mc - -Pour copier les données du service local vers un bucket sur MinIO: - -```bash -mc cp chemin/local/vers/mon/fichier.csv s3//chemin/distant/vers/mon/fichier.csv -``` - -::: + ```bash + mc cp chemin/local/vers/mon/fichier.csv s3//chemin/distant/vers/mon/fichier.csv + ``` ### Renouveler des jetons d'accès (*tokens*) périmés