https://s3-blob.squarecloud.app. Tout outil qui permet de définir un endpoint personnalisé fonctionne : aws-cli, boto3, le SDK AWS pour JavaScript, rclone, Cyberduck et la plupart des outils de sauvegarde.
Identifiants
Les outils S3 signent les requêtes avec une paire de clés d’accès. Obtenez-la via Identifiants S3 :blob:read donne une paire en lecture seule.
La paire ne change pas tant que la clé API ne change pas : récupérez-la donc une fois et conservez-la dans votre gestionnaire de secrets ou dans une variable d’environnement. N’appelez pas la route à chaque démarrage : elle accepte 10 requêtes par heure.
Buckets
Votre compte voit trois buckets fixes. Vous ne pouvez pas créer ni supprimer de buckets.
Une clé dans le bucket
public ou private est le chemin de l’objet sans votre id utilisateur : images/logo.png dans le bucket public correspond à l’objet pub/<user_id>/images/logo.png sur l’API REST. Les fichiers écrits via S3 apparaissent sur l’API REST et dans le tableau de bord, et inversement.
Configuration
boto3 a besoin de
signature_version="s3v4" pour les URL présignées : sans cela, generate_presigned_url signe avec l’ancien SigV2, que la passerelle n’accepte pas. Les URL présignées durent jusqu’à 7 jours (604800 secondes).Opérations prises en charge
Les politiques de bucket, CORS, lifecycle, website, le chiffrement, object lock, les versions, la journalisation, les notifications, la réplication, les écritures d’ACL et de tags, le
GET par partNumber et les envois par formulaire POST depuis le navigateur répondent 501 NotImplemented. Utilisez les paramètres du compte pour les règles de cycle de vie.
Clés
- Les clés sont des chemins littéraux. Une clé peut faire jusqu’à environ 1000 octets : la limite de 1024 octets compte aussi le préfixe du compte. Une clé plus longue répond
KeyTooLongError, et son message indique le nombre exact d’octets dont vous disposez. Les segments ne peuvent pas être vides,.ou... - Une clé de 0 octet se terminant par
/est un marqueur de dossier, à la manière dont la console AWS crée les dossiers. - Le
Content-Typeservi est dérivé de l’extension, comme sur l’API REST. Les exécutables sont refusés avecInvalidArgumentet.html,.svget.xmlsont servis en tant que téléchargements.
Métadonnées, cache et expiration
- Les en-têtes
x-amz-meta-*sont conservés sur Pro et Enterprise (jusqu’à 5 clés et 512 octets, sinonMetadataTooLarge). Sur les autres plans, ils sont ignorés. Cache-ControletContent-Dispositionsont conservés. UnCache-Controlsans cache (no-cache,no-storeoumax-age=0) en dehors d’Enterprise est refusé avecAccessDenied.- Les règles par préfixe s’appliquent aux objets écrits via S3, y compris la suppression automatique. Les champs
max_sizeetextensionsd’une règle ne s’appliquent qu’aux envois REST.
Limites
Au-delà d’une limite, la passerelle répond
SlowDown (HTTP 503), et les SDK AWS patientent puis réessaient d’eux-mêmes. Les requêtes S3 ne comptent pas dans la limite de requêtes API de votre plan.
Vérifiez la paire de clés avant de réessayer en boucle : une IP qui envoie trop d’identifiants invalides est bloquée pendant quelques minutes.
Taille des parties
Les outils multipart découpent eux-mêmes les gros fichiers ; gardez chaque partie à 80 Mo ou moins. Les valeurs par défaut de l’AWS CLI (8 Mo) et de rclone (5 Mo) conviennent déjà.legacy en lecture seule, les écritures répondent AccessDenied. Le quota de stockage s’applique comme sur l’API REST.

