3 points par GN⁺ 2024-04-20 | 1 commentaires | Partager sur WhatsApp

Lancement officiel de la compatibilité S3 et des Resumable Uploads de Supabase Storage

  • Supabase Storage est désormais un fournisseur de stockage compatible S3. Il s’agit de l’une des fonctionnalités les plus demandées et elle est actuellement disponible en alpha publique.
  • Les Resumable Uploads sont eux aussi passés de la bêta à la disponibilité générale.
  • Le moteur de Supabase Storage est entièrement open source et fait partie des rares solutions de stockage à proposer 3 protocoles interopérables pour la gestion des fichiers.
    • Standard uploads : facile à prendre en main
    • Resumable uploads : reprise des envois pour les transferts volumineux
    • S3 uploads : pour la compatibilité avec de nombreux outils

Compatibilité S3

  • Supabase s’efforce depuis toujours d’adopter les standards du secteur. Le support des standards permet de rendre les workloads portables, ce qui constitue un principe clé du produit.
  • L’API S3 est sans aucun doute le standard du stockage, et nous travaillons à la rendre accessible à des développeurs de tous niveaux d’expérience.
  • Le protocole S3 est rétrocompatible avec les autres API. Si vous utilisez déjà Storage via l’API REST ou TUS, vous pouvez dès aujourd’hui utiliser un client S3 pour interagir avec vos buckets et fichiers : envoi via TUS, diffusion via REST, gestion via le protocole S3.
  • Ce protocole fonctionne dans le cloud, en développement local et en auto-hébergement. Consultez la documentation pour vérifier la compatibilité de l’API.

Authentification S3 de Supabase

  • Pour vous authentifier avec Supabase S3, deux options sont disponibles :
    1. Les identifiants standard access_key et secret_key. Ils peuvent être générés depuis la page des paramètres de stockage. Cette méthode d’authentification est largement compatible avec les outils prenant en charge le protocole S3. Elle donne tous les droits d’accès aux ressources Storage et est donc conçue pour un usage côté serveur uniquement.
      • À l’avenir, des clés d’accès à périmètre limité, pouvant donner accès à des buckets spécifiques, seront ajoutées.
    2. Des identifiants à portée utilisateur avec RLS. Cette approche exploite le Row Level Security, un concept déjà bien adopté dans tous les services Supabase. Vous pouvez interagir avec le protocole S3 en limitant les opérations de stockage à un utilisateur authentifié ou à un rôle donné, tout en respectant les politiques RLS existantes. Cela est possible grâce à l’utilisation de l’en-tête de jeton de session pris en charge par le protocole S3. Pour en savoir plus sur l’utilisation de ce mécanisme de jeton de session, consultez la documentation.

Intégrations compatibles S3

  • Grâce au support du protocole S3, il est désormais possible de connecter Supabase Storage à de nombreux outils et services tiers. Il suffit de fournir une paire d’identifiants révocable à tout moment.
  • Vous pouvez utiliser des outils populaires pour la sauvegarde et la migration, comme AWS CLI, rclone ou Cyberduck.
  • Consultez le guide Cyberduck.

S3 pour les data engineers

  • La compatibilité S3 fournit une excellente base pour les data engineers. Elle peut être utilisée avec de nombreux outils populaires, notamment des data warehouses comme ClickHouse, des moteurs de requête comme DuckDB, Spark, Trino et Snowflake External Table, ainsi que des chargeurs de données comme Fivetran et Airbyte.
  • Dans l’exemple, notre formidable data analyst Tyler montre comment stocker des fichiers Parquet dans Supabase Storage et les interroger directement avec DuckDB.

Uploads multipart avec S3

  • En plus des standard uploads et des resumable uploads, les uploads multipart via le protocole S3 sont désormais pris en charge. Cela permet d’envoyer des chunks en parallèle pour maximiser le débit d’upload, avant assemblage final.

Lancement officiel des Resumable Uploads

  • Avec l’annonce de la disponibilité générale de la plateforme, nous sommes heureux d’annoncer que les Resumable Uploads sont eux aussi officiellement disponibles.
  • Les Resumable Uploads reposent sur le protocole TUS. Cette collaboration étroite avec l’équipe TUS a été très enrichissante. Un grand merci aux mainteneurs du protocole TUS, @murderlon et @acconut, pour leur approche collaborative de l’open source.

Contributions de Supabase

  • Supabase a contribué à l’implémentation Node de la spécification TUS avec plusieurs fonctionnalités avancées, notamment les verrous distribués, la taille maximale des fichiers, l’extension d’expiration et de nombreuses corrections de bugs.
  • Ces fonctionnalités étaient essentielles pour Supabase et ont été rendues possibles parce que le serveur TUS Node est open source. C’est un autre principe fondamental : utiliser et soutenir des outils existants plutôt que tout reconstruire de zéro quand c’est possible.

Autres améliorations

  • Transferts entre buckets : alors qu’il n’était auparavant possible d’effectuer ces opérations qu’au sein d’un même bucket Supabase, il est maintenant possible de copier et déplacer des objets entre différents buckets.
  • Codes d’erreur standardisés : les codes d’erreur ont été standardisés dans l’ensemble du serveur Storage, ce qui facilite grandement l’écriture de logique conditionnelle selon les erreurs spécifiques.
  • Migrations multi-tenant : les migrations exécutées sur l’ensemble des tenants ont été fortement améliorées. Cela a réduit les erreurs de migration dans toute la flotte et permet d’exécuter les migrations longues de manière asynchrone.
  • Séparation des dépendances : Storage est désormais complètement découplé des autres produits Supabase, ce qui permet de l’exécuter comme un service autonome. Commencez avec le fichier docker-compose.

Pour commencer

  • Vérifier la compatibilité de l’API S3 dans la documentation
  • En savoir plus sur l’authentification S3
  • Essayer S3 avec Cyberduck : suivre le guide d’intégration
  • Essayer S3 avec DuckDB : suivre le guide sur YouTube

L’avis de GN⁺

  • La compatibilité S3 rapproche Supabase Storage du standard du stockage cloud. Comme beaucoup d’entreprises utilisent déjà S3, la transition vers Supabase devient beaucoup plus simple.
  • Mais comme S3 est à l’origine un service d’AWS, il pourrait être intéressant à long terme d’envisager le développement d’un protocole propre à Supabase. Il faudrait éviter une situation de dépendance vis-à-vis d’Amazon.
  • Avec la disponibilité générale de Resumable Upload, les transferts de gros fichiers devraient devenir nettement plus simples. Le fait de dépasser les limites des méthodes existantes tout en améliorant l’expérience d’usage est particulièrement notable.
  • La mise en place de pipelines de data engineering s’appuyant sur S3 constitue un cas d’usage attractif. Bien exploité, cela peut aider à moderniser l’infrastructure de données des entreprises.
  • Le fait que Supabase ait directement contribué à l’amélioration du protocole TUS, et que cela bénéficie ensuite à l’écosystème open source, est particulièrement impressionnant. L’entreprise ne se contente pas d’utiliser l’open source : elle y contribue activement.

1 commentaires

 
GN⁺ 2024-04-20
Avis Hacker News
  • Le CEO de Supabase présente une nouvelle mise à jour de Storage. Ce produit permet de stocker des fichiers volumineux et ajoute la compatibilité S3, ce qui le rend utilisable avec des milliers d’outils existants. Il souligne en particulier les possibilités que cela ouvre pour les data scientists et les ingénieurs.

  • Un utilisateur se réjouit de pouvoir utiliser des fournisseurs de CDN compatibles S3, tout en soulignant que certains aspects de Supabase doivent encore être améliorés. Globalement, il juge positive l’orientation prise par Supabase.

  • Un exemple a été partagé montrant que DuckDB peut désormais interroger directement des fichiers parquet dans Supabase Storage, maintenant compatible avec le protocole S3.

  • Certains utilisateurs indiquent aussi préférer le mode de stockage Large Object de PostgreSQL.

  • Une question est posée sur la facilité d’auto-hébergement de Supabase. L’utilisateur veut savoir à quel point il est simple de migrer vers un hébergement autonome pour des raisons de coût.

  • Avec l’annonce du recrutement de l’équipe Oriole par Supabase, un utilisateur mentionne aussi envisager une intégration avec Cloudflare R2.

  • Des questions sont soulevées sur la manière dont Supabase Storage est implémenté, notamment pour savoir si les données sont réellement stockées dans PostgreSQL et si les mises à jour transactionnelles sont prises en charge.

  • Un utilisateur exprime sa confiance et son attachement à Supabase, en espérant que l’entreprise ne sera pas rachetée puis dégradée.

  • Un autre commentaire s’étonne que l’API propriétaire d’AWS S3 soit devenue de facto un standard de l’industrie.

  • Une question est également posée sur la prise en charge des URL pré-signées.