How to use the AWS S3 JS SDK with Wasabi Cloud ?

How to use @aws-sdk/client-s3 with Wasabi Cloud S3

ACCESS_KEY_ID et SECRET_ACCESS_KEY must be created on your Wasabi console.

WASABI_ENDPOINT must be of the format : https://s3.<bucket_region>.wasabisys.com .

S3-wasabi-client.mjs example

import { S3Client } from '@aws-sdk/client-s3';

const { 
	S3_REGION = 'us-east-1',
	ACCESS_KEY_ID="YOUR ACCESS KEY",
	SECRET_ACCESS_KEY="YOUR SECRET ACCESS KEY",
	WASABI_ENDPOINT="https://s3.eu-west-2.wasabisys.com"
 } = process.env;

const s3WasabiClient = new S3Client({
    region: S3_REGION,
    apiVersion: '2006-03-01',
    credentials: {
        accessKeyId: ACCESS_KEY_ID,
        secretAccessKey: SECRET_ACCESS_KEY
    },
    endpoint: WASABI_ENDPOINT
});

export { s3WasabiClient };

List all objects in the bucket “bucket_name”

import { s3WasabiClient } from './s3-wasabi-client.mjs';
import { ListObjectsCommand } from '@aws-sdk/client-s3';

const listObjectsCommand = new ListObjectsCommand('bucket_name', '');
const data = await s3WasabiClient.send(listObjectsCommand);
if(data.Contents) {
	console.log('data : ', data.Contents);
}

Automatiser la Copie de Fichiers depuis Windows vers Stockage Cloud AWS S3

Besoin

Les fichiers du dossier partagé Windows doivent être copiés sur un stockage Bucket AWS S3, afin d’être utilisée dans une autre application. Comment automatiser la copie de ces fichiers sur le stockage S3 de façon récurrente ?

Contexte

  • L’application ERP/CRM effectue des exports chaque jour dans un dossier partagé. Lors de l’export, les fichiers existants sont écrasés.
  • Les fichiers peuvent avoir une taille atteignant 140 Mo.
  • Le dossier partagé se trouve sur un serveur Windows Server 2019.

Solution 1 : Power Automate et Passerelle de données locale

À l’aide de Power Automate, on peut configurer un “Flow”. Responsable de surveiller lorsque des nouveaux fichiers sont ajoutés ou modifiés dans un dossier, et d’envoyer vers S3 par le biais d’une connexion SFTP.

Étant donné que le dossier partagé n’est pas un dossier SharePoint ou OneDrive, il est nécessaire d’installer une “Passerelle de données locale/On Premises Data Gateway” sur le serveur. Il fera le lien entre le système de fichier et Power Automate.

Cependant, il existe une limite au niveau de la taille des fichiers que peut traiter la passerelle, la limite est de 30 Mo maximum par fichier. Au sein de Power Automate, il existe aussi une limite sur la taille des messages qui est fixé à 100 Mo.

La solution Power Automate la plus simple à mettre en place, de par son interface graphique intuitive. Mais aussi pour sa facilité à surveiller l’état de l’automatisme configuré, ne sera pas adapté pour ce cas.

Solution 2 : rclone et planificateur de tâches Windows

L’outil en ligne de commande Rclone couplé au planificateur de tâches Windows. Rclone permet de synchroniser ou de copier des fichiers en local vers un cloud provider. Le planificateur de tâches Windows, quant à lui permettra de configurer la fréquence a laquelle la commande Rclone doit être exécutée.

  1. Télécharger rclone et extraire l’archive

    1. Ajouter le chemin vers le dossier rclone dans le PATH
  2. Configurer un “remote” rclone en lancant la commande rclone config 1.

    rclone config
    # n / New remote
    n/s/q/> n
    # Enter remote name s3-rclone-automatisation-test
    name> s3-rclone-automatisation-test
    # Storage
    # 5 / Amazon S3 Compliant Storage providers inluding AWS, Alibaba ...
    Storage> 5
    # provider
    # 1 / Amazon Web Services (AWS) S3
    provider> 1
    # AWS Credentials
    # 1 / Enter AWS credentials in the next step.
    env_auth> tape Enter for 1
    # AWS Access Key ID
    access_key_id> your_access_key_id
    # AWS Secret Access Key (password)
    secret_access_key> your_secret_key
    # Region to connect to
    # 8/ EU (Paris) Region. (eu-west-3)
    Region> 8
    # Endpoint
    endpoint > (Enter to leave empty)
    # Location constraint - must be set to match the Region
    location_constraint> 8
    # ACL
    acl> (Enter to leave empty)
    # The server-side encryption algorithm used when storing the object in S3.
    server_side_encryption> (Enter to leave empty)
    # If using KMS ID you must provide the ARN of Key
    sse_kms_key_id> (Enter to leave empty)
    #The storage class to use when storing new objects in S3.
    storage_class> (Enter to leave empty)
    # Edit advanced config ?
    y/n> (Enter to use No default answer)
    # Configuration complete.
    # Keep this "s3-rclone-automatisation-test" remote ?
    y/e/d> (Enter to use Yes this is OK default answer)
    # Current remotes :
    # q / Quit config
    e/n/d/r/c/s/q> q
    
  3. Lancer votre commande de copie : rclone copy source:path dest:path [flags]

Exemple de commande rclone copy :

# Dossier source ou sont contenus les fichiers à copier : C:\Users\Administrator\Downloads\sync-folder
# Nom du "Remote" configuré dans rclone : s3-rclone-automatisation-test
# Nom du bucket S3 : rclone-automatisation-test
# Commande : 
C:\Users\Administrator\Downloads\rclone-v1.64.0-windows-amd64\rclone copy --progress --checksum -vv C:\Users\Administrator\Downloads\sync-folder s3-rclone-automatisation-test:rclone-automatisation-test
  1. Ouvrir le planificateur des tâches Windows
  2. Créer une tâche planifié.
  3. Configurer un Déclencheur :
    1. Lancer la tâche : à l’heure programmée
    2. Paramètres : Chaque jour
    3. Démarrer : Spécifier une heure dans la journée.
    4. Cocher la case : Activée
    5. (optionnel) Pour les besoins de test :
      1. Cocher la case “Répéter la tâche toutes les” : 5 minutes
      2. Pour une durée de : Indéfiniment
  4. Configurer une Action :
    1. Action : Démarrer un programme
    2. Programme/script (spécifier le chemin complet) : C:\Users\Administrator\Downloads\rclone-v1.64.0-windows-amd64\rclone
    3. Ajouter des arguments : copy –checksum -v C:\Users\Administrator\Downloads\sync-folder s3-rclone-automatisation-test:rclone-automatisation-test

Remarque : Activer l’historique de la tâche planifié, en créant un dossier dans l’arborescence “Bibliothèque du Planificateur de tâches”. Puis en créant la tâche dans ce dossier. Ensuite Clique droit sur le dossier > Activer l’historique de toutes les tâches.

Commandes Utiles

  • rclone config file : Affiche l’emplacement du fichier de configuration de rclone.
  • rclone listremotes : Affiche la liste des “remotes” configurés.

Préparer et réussir la Certification AWS Cloud Practitioner en seulement 1 mois

Préparer et réussir la Certification AWS Cloud Practitioner en seulement 1 mois

À qui s’adresse la certification Cloud Practitioner de AWS ?

La certification Cloud Practitioner est une certification AWS de base qui permet aux professionnels de l’informatique et non-informaticiens. (Développeurs, chefs de projet, et commerciaux). De comprendre les services AWS et les concepts de cloud computing. Elle est adaptée pour ceux qui cherchent à se familiariser avec les concepts de base du cloud computing, ainsi qu’aux personnes qui cherchent à valider leurs connaissances en matière de services AWS de base tels que S3, EC2, RDS et AWS Lambda.

Pourquoi vous avez tout intérêt à passer la certification ?

La certification Cloud Practitioner vous permettra de démontrer votre compréhension des concepts de base du cloud computing et des services AWS. Cela peut être un atout pour votre carrière professionnelle, de nombreuses entreprises migrent vers des solutions cloud et ont besoin de professionnels compétents pour gérer ces services. En obtenant la certification AWS Cloud Practitioner, vous pouvez vous démarquer en tant que candidat qualifié pour des postes impliquant l’utilisation de services cloud AWS.

Préparez-vous en 4 semaines

Je vous propose un plan en 4 semaines pour préparer et passer la certification AWS Cloud Practitioner. Les deux premières semaines consistent à regarder les vidéos de formation en accéléré, à installer des applications de QCM et à pratiquer régulièrement. La troisième semaine, il est recommandé de souscrire à l’abonnement SkillBuilder et de passer un examen blanc avant de suivre le cours. La quatrième semaine, il est conseillé de programmer une date d’examen, de réviser les sujets sur lesquels on a des doutes et de repasser l’examen blanc la veille de l’examen réel.

Semaine 1 & 2

  1. Préparez-vous en même temps qu’un collègue et challengez-vous en vous posant des questions.
  2. Mettez les vidéos des formations Learning Path en vitesse accélérée et valeur maximale. 1h00-2h00 par jour.
  3. Notez à l’écrit, sur un vrai cahier en papier, ce que vous avez retenu. “Les paroles s’envolent, les écrits restent.”
  4. Installer des applications de type QCM “Cloud Practitioner Exam Prep” sur votre téléphone. Disponible en grand nombre en version payante et gratuite.
  5. Pratiquez les QCM quand vous allez aux toilettes, en pause, avant d’aller dormir, et au réveil.
  6. Notez les sujets sur lesquels vous avez toujours un doute et documentez vous jusqu’à devenir incollable.

Semaine 3

  1. Souscrivez à l’abonnement SkillBuilder.aws vous pouvez résilier l’abonnement avant le renouvellement.
  2. Passer l’examen blanc 1 seule fois, avant de suivre le cours récapitulatif et identifiez vos lacunes.
  3. Suivez le récapitulatif pour l’examen Cloud Practitioner (uniquement disponible avec l’abonnement SkillBuilder) il contient des tests intermédiaires et un examen blanc.
  4. Suivez le cours et attardez vous sur les sujets ou vous avez des lacunes.

Semaine 4

  1. Programmez une date d’examen et inscrivez-vous, même si vous n’êtes pas prêt. Savoir que la date a été fixée vous n’aurez plus le choix, débrouillez vous pour être prêt le jour J.
  2. Repasser l’examen blanc à J-1 de la date d’examen, pour vous remettre dans le bain.
  3. Passez votre examen et réussissez !