Support for Cloudflare's D1 and/or R2

Ouverte
#1,865 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
20/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
aws, python, sql, sqlite
Domaine
cloud, databases

Piste de recherche

Commencez par examiner libcloud.storage.drivers.s3 à la lumière de la documentation de la S3 API de Cloudflare R2 et déterminez si la compatibilité existante peut être documentée ou si un module libcloud.storage.drivers.r2 distinct est nécessaire. La proposition plus large suggère également de concevoir libcloud.sql.* pour D1 et d’autres bases de données SQL gérées ; le travail sera considéré comme terminé lorsqu’un périmètre, une implémentation, des tests et une documentation auront été approuvés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Feature Description

Cloudflare has been developing an alternative to traditional storage providers, with the benefit that it has no egress fees for the data.

  • D1 is a relational database build on SQLite, which currently is on Alpha. It can be access and manipulated through the online GUI on Cloudflare's Dashboard or through the CLI using a npm package called wrangler.
  • R2 is the Cloudflare's implementation of an object storage service. It can be used through the GUI on Cloudflare's Dashboard, through the CLI with wrangler, or using the Amazon's S3 API.

Proposal

  1. First the easiest, R2. To begin with, test if Apache Libcloud libcloud.storage.drivers.s3 works correctly with an R2 bucket, and if so, update the documentation to reflect that said module can be used with R2. It would be a good idea to document what functions are NOT available, according to Cloudflare's R2 documentation.
  2. If libcloud.storage.drivers.s3 doesn't work with R2, another module can be created (libcloud.storage.drivers.r2, for example), which is based on the S3's module but with a few adjustments, and removing functions that are unavailable on R2. I do think this is a cleaner solution, to keep S3 separated from R2.
  3. Finally, as Apache Libcloud does not (yet) manage Cloud Databases, a fine addition to the library would be to start a new module (maybe libcloud.sql.*?) and implement certain popular SQL Databases, such as Amazon's RDS, Azure's SQL Database, and of course Cloudflare's D1.
Langage dominant
Python
Étoiles
2.1k
Forks
935
Merge moyen
5 j 3 h
PR mergées (30 j)
15

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/libcloud

Toutes les issues de apache/libcloud

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.