Como fazer upload de arquivos diretamente para o S3 sem usar o armazenamento local? [fechadas]

18

Estou procurando um plug-in WordPress que me permita enviar arquivos diretamente para

Somos uma loja de desenvolvimento que co-cria ativamente sites CMS com os clientes. Isso significa que frequentemente iteramos sites nos quais os clientes estão usando e fazendo upload de arquivos. Em nossos projetos, armazenamos o banco de dados e o código em um repositório git, o que facilita a transferência de código da produção para o desenvolvimento local.

O problema com esse processo é que alguns dos arquivos que os clientes carregam são muito grandes e não queremos carregá-los no repositório, mas ainda gostaríamos de poder acessá-los como se os tivéssemos.

Então, pensei, em vez de mover os arquivos, poderíamos usar um terceiro que hospedasse os arquivos e apenas acessá-los. Eu poderia usar o Amazon S3 com um plug-in de backup, mas preferiria fazer o upload para o S3 através da interface de administração.

A segunda razão para querer esse plugin é que hospedamos blogs com 20 a 30 GB de imagens de alta resolução. Eu preferiria não manter esses arquivos em nosso servidor, porque o espaço no servidor é caro. É mais barato usar o Amazon S3 para hospedar os arquivos.

Concluindo, existe um plug-in que permite usar o upload de mídia do WordPress, mas na verdade ignorará o armazenamento local e enviará os arquivos diretamente para o servidor?

Agradecemos antecipadamente por suas respostas!

tarasm
fonte
2
Em vez de uma resposta completa, que eu não posso sair no momento: Saving WordPress Media para Amazon S3 (Teaser)
Annika Backstrom
@ v0idless, parece que seu link fará o trabalho. Vou precisar experimentar.
tarasm
@ AdamBackstrom, seu link parece exatamente o mesmo cenário que eu, mas não tenho certeza sobre a solução dele. Vou precisar dar uma olhada mais de perto.
tarasm
Por que você não deixa respostas?
tarasm

Respostas:

5

Eu tinha o mesmo requisito: meu VPS não possuía espaço em disco, mas eu ainda queria gerenciar fotos com o WordPress. O tantan-s3 não foi suficiente, pois uma cópia de cada foto é armazenada localmente.

É possível abstrair o armazenamento de arquivos usando wrappers de fluxo PHP, mas algumas partes principais do WordPress são incompatíveis. Portanto, essa é a resposta curta: o WordPress nativamente não suporta funcionalidade suficiente para tornar isso possível.


Seguindo em frente: o ingresso no WordPress # 18543 se preocupa com o núcleo de patches para suportar os wrappers de fluxo imagejpeg()(e outras funções GD) e wp_mkdir_p().

O Zend_Service_Amazon_S3_Stream fornece um wrapper de fluxo S3, mas tende a ser ineficiente, solicitando os 8192 bytes por vez em vez de armazenar em buffer mais, gerando um grande número de solicitações no processo. Estou sentado nisso há meses, então é melhor liberar os mods para o meio ambiente . Esse patch funciona no Zend Framework 1.11.10.

A conclusão do círculo é um plug-in para converter o caminho de upload para o S3 .

Eu adoraria ver alguém levar isso além do que eu tenho, mas isso não vai longe até que o núcleo do WordPress melhore o suporte ao fluxo.

Annika Backstrom
fonte
1
Se você possui um VPS, por que não montar um bucket s3 e definir esse caminho como o diretório de upload?
v0idless
@ v0idless, essa é uma ótima pergunta. Não seria portátil, mas acho que funcionaria. A montagem do balde ainda exigiria o plug-in de tradução de URL de Adam. Estou correcto?
tarasm
As opções de mídia do WordPress permitem definir o diretório de upload: o Store uploads in this folderque é suficiente para um balde montado. Acho que o plug-in do Adam anexa o protocolo s3: // ao caminho de upload para suporte ao fluxo.
v0idless
@tarasm Eu acredito que pre_option_upload_url_pathé o filtro importante para o caminho do download.
Annika Backstrom
@AdamBackstrom Acho que está o mais próximo possível da resposta final neste momento. Você gostaria de atualizar esta pergunta se essa situação mudar?
tarasm
2

Confira o plugin WP2Cloud . Os arquivos enviados não são armazenados localmente - eles vão diretamente para o Amazon S3.

Além disso, se você escolher, poderá usar o Amazon S3 para armazenar todo o conteúdo do site, não apenas os uploads. Ao fazer isso, você resolve permanentemente o problema de backup e ganha a flexibilidade de hospedar o site em qualquer lugar que desejar, sem mover os dados.

artem
fonte
2

Havia um plugin chamado WP somente leitura . O qual fará o upload dos arquivos para o Amazon S3. Estou usando no meu servidor heroku. Porque você não pode armazenar arquivos estáticos no servidor heroku.

palPalani
fonte
0

Existe um plug-in que pode servir a esse propósito, ele permite que você faça upload de arquivos diretamente para o S3 a partir do painel do administrador ou use shortcode para incorporar um navegador S3 às primeiras páginas dos usuários para fazer upload de arquivos para o S3, você pode controlar quem pode fazer o upload, excluir, criar pastas etc. é muito útil.

Aqui está o link: WordPress S3 Browser

user44870
fonte