Aller au contenu
s3nd.sh

Fournisseur de stockage

s3nd avec Scaleway Object Storage

Des régions européennes, compatible S3, et la région veut vraiment dire quelque chose.

createBucket()
import { createBucket } from 's3nd'

const store = createBucket({
  bucket: 'transfers',
  region: 'fr-par',
  endpoint: 'https://s3.fr-par.scw.cloud',
  credentials: {
    accessKeyId: process.env.SCW_ACCESS_KEY!,
    secretAccessKey: process.env.SCW_SECRET_KEY!,
  },
})

Pourquoi celui-ci

Scaleway Object Storage

L’Object Storage de Scaleway est compatible S3 avec une différence à connaître : il utilise la région. Passez fr-par, nl-ams ou pl-waw explicitement plutôt que de laisser l’endpoint la mettre à "auto".

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": "fr-par",
  "endpoint": "https://s3.fr-par.scw.cloud",
  "prefix": "transfers",
  "expiresIn": "24h",
  "envFile": ".env",
  "credentials": {
    "accessKeyId": "${SCW_ACCESS_KEY}",
    "secretAccessKey": "${SCW_SECRET_KEY}"
  }
}

Ensuite

  1. 01Mettez SCW_ACCESS_KEY et SCW_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 Scaleway.

La région est réelle

L’endpoint porte la région et la signature doit être d’accord avec elle. Écrivez les deux, dans la même région.

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.