Aller au contenu
s3nd.sh

Fournisseur de stockage

s3nd avec Wasabi

Du stockage à prix fixe sans frais de sortie, sur un endpoint régional.

createBucket()
import { createBucket } from 's3nd'

const store = createBucket({
  bucket: 'transfers',
  region: 'eu-central-1',
  endpoint: 'https://s3.eu-central-1.wasabisys.com',
  credentials: {
    accessKeyId: process.env.WASABI_ACCESS_KEY!,
    secretAccessKey: process.env.WASABI_SECRET_KEY!,
  },
})

Pourquoi celui-ci

Wasabi

Wasabi est compatible S3, facturé au téraoctet stocké sans frais de sortie ni de requête, et joignable via un endpoint régional. Il fonctionne avec s3nd comme tout autre fournisseur à endpoint : définissez l’endpoint et la région, et donnez-lui une paire de clés.

Depuis la ligne de commande

Une configuration de départ, et ce qu’il reste à faire.

init écrit le fichier avec des références ${VAR} plutôt que des secrets, donc il est fait pour être versionné ; le fichier d’environnement qu’il désigne, non.

s3nd.config.json
{
  "bucket": "transfers",
  "region": "eu-central-1",
  "endpoint": "https://s3.eu-central-1.wasabisys.com",
  "prefix": "transfers",
  "expiresIn": "24h",
  "envFile": ".env",
  "credentials": {
    "accessKeyId": "${WASABI_ACCESS_KEY}",
    "secretAccessKey": "${WASABI_SECRET_KEY}"
  }
}

Ensuite

  1. 01Mettez WASABI_ACCESS_KEY et WASABI_SECRET_KEY dans .env.
  2. 02Ajoutez une règle de cycle de vie sur le préfixe transfers/.
  3. 03Lancez s3nd doctor. Il effectue les opérations dont s3nd a besoin et rapporte ce qui s’est passé.

Bon à savoir

Notes sur Wasabi.

Durée de stockage minimale

Wasabi facture les objets supprimés pendant une période de rétention minimale. Les transferts sont petits, donc ça compte rarement, mais c’est la ligne de la facture qui surprend.

Nettoyage des expirés

expiresIn empêche un transfert d’être remis ; seule une règle de cycle de vie supprime l’objet. Donnez au préfixe une règle qui expire les objets après un jour ou deux, et s3nd doctor passe au vert.

Déposez un fichier. Donnez le code.

Pointez-le sur le bucket que vous payez déjà. Rien à déployer, aucune inscription, personne au milieu.