Support for Cloudflare's D1 and/or R2

Offen
#1,865 0 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
20/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
aws, python, sql, sqlite
Bereich
cloud, databases

Rechercherichtung

Beginnen Sie mit der Prüfung von libcloud.storage.drivers.s3 anhand der Dokumentation zur S3 API von Cloudflare R2 und stellen Sie fest, ob die bestehende Kompatibilität dokumentiert werden kann oder ein separates Modul libcloud.storage.drivers.r2 benötigt wird. Der weiter gefasste Vorschlag sieht außerdem vor, libcloud.sql.* für D1 und andere verwaltete SQL-Datenbanken zu entwerfen; als abgeschlossen gilt dies, wenn Umfang, Implementierung, Tests und Dokumentation abgestimmt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.
Vorherrschende Sprache
Python
Sterne
2.1k
Forks
935
Ø Merge
5 T. 3 Std.
Gemergte PRs (30 T.)
15

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/libcloud

Alle Issues in apache/libcloud

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.