Support for Cloudflare's D1 and/or R2

Aberta
#1,865 0 comentários 3 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
20/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
aws, python, sql, sqlite
Domínio
cloud, databases

Direção de pesquisa

Comece revisando libcloud.storage.drivers.s3 em relação à documentação da S3 API do Cloudflare R2 e determine se a compatibilidade existente pode ser documentada ou se é necessário um módulo separado libcloud.storage.drivers.r2. A proposta mais ampla também sugere projetar libcloud.sql.* para D1 e outros bancos de dados SQL gerenciados; o trabalho estará concluído quando escopo, implementação, testes e documentação tiverem sido acordados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.
Linguagem predominante
Python
Estrelas
2.1k
Forks
935
Merge médio
5d 3h
PRs com merge (30d)
15

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/libcloud

Todas as issues de apache/libcloud

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.