Gli upload su Cloudflare R2 non vengono aggiunti al backup: impossibile scaricare ******* a causa di Aws::S3::Errors::Http501Error

Sto provando alcune cose su Cloudflare e stavo pensando di abbandonare R2 in futuro. Ecco perché, quando stavo esaminando i backup, ho visto che le installazioni non erano incluse e dava un errore. Eseguendo un backup manualmente, dà lo stesso errore nei log delle transazioni. Le immagini e i file locali vengono sottoposti a backup, ma le immagini su Cloudflare R2 non vengono sottoposte a backup.

Un esempio di codice di errore:

Failed to download original/1X/4b8754c367e54bc5271454a09b8bd4c1a8b882d5.png because Aws::S3::Errors::Http501Error
/var/www/discourse/lib/s3_helper.rb:280:in `rescue in download_file'
/var/www/discourse/lib/s3_helper.rb:277:in `download_file'
/var/www/discourse/lib/file_store/s3_store.rb:338:in `download_file'
/var/www/discourse/lib/backup_restore/backuper.rb:321:in `block in add_remote_uploads_to_archive'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:71:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:71:in `block in find_each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:138:in `block in find_in_batches'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:245:in `block in in_batches'
internal:kernel:187:in `loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:229:in `in_batches'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:137:in `find_in_batches'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/batches.rb:70:in `find_each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/querying.rb:22:in `find_each'
/var/www/discourse/lib/backup_restore/backuper.rb:315:in `add_remote_uploads_to_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:248:in `create_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:40:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:31:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'

La mia configurazione è la seguente:

Grazie

Ci si aspetta che sia così, e in gran parte il punto di S3/R2 è che non è necessario eseguire il backup delle cose. Ma c’è un’impostazione nascosta che scaricherà tutte le immagini da S3 e le inserirà nel backup.

Oh, ma hai DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true.

Quindi forse R2 non funziona come suggerito originariamente. Pensavo di averlo testato e che avesse funzionato, ma non ho provato a scaricare le immagini nel backup e probabilmente non ho provato a eseguire un ripristino o a scaricare un file di backup.

Questo probabilmente appartiene all’altro argomento poiché sembra contraddire l’ipotesi “forse funziona” presentata lì.

Questa impostazione è attiva, ma sfortunatamente non importa le immagini da R2 durante il backup. Puoi vederlo nel log quando esegui un backup manuale.

Sono indeciso e sto pensando di abbandonare cdn e utilizzare lo storage locale. Infatti, questo è ciò che ci si aspetta che accada, nel caso in cui le opinioni cambino.

Grazie per aver dedicato del tempo a rispondere.

Solleverò nuovamente il problema, ma si riempie di codici di errore ad ogni backup automatico. Se non viene eseguito il backup, penso che sarebbe meglio non richiedere i file su S3 per evitare di perdere tempo. In questo modo non riempiamo il file con codici di errore non necessari.

La mia ipotesi è che non ti permetterà di scaricarli perché sta cercando di proteggerti da qualcuno che ruba tutte le tue immagini. Sembra un altro modo in cui R2 non è compatibile con discourse.

1 Mi Piace

Sono su R2 da molto tempo. Tutto sembra a posto, ci sono solo alcuni problemi (come sopra) ma possono essere risolti. Col tempo, la community lavorerà su questo problema, nel frattempo, buona fortuna a te :slight_smile:

È interessante! Ti ho visto solo lamentarti di cose che non funzionavano. I miei test rapidi sembravano funzionare, ma non ho testato in modo approfondito.

Una qualche forma di limitazione della frequenza è la mia migliore ipotesi sui download di backup, anche se pensavo che ci sarebbero stati degli errori?

1 Mi Piace

Dopo i tuoi test, abbiamo eseguito R2 e i miei problemi :clap: :clap: con R2 sono stati i seguenti:
Quando ho disattivato S3, le connessioni si sono trasformate in strane connessioni R2 (ciò che ho visto guardando in Docker). E quando ho provato a risolverlo e a rifare il bake, le immagini sul sito volavano e si distorcevano. Dopo averlo corretto dopo alcuni tentativi, ho impostato R2 solo per il caricamento e l’uso. Quindi non ho ancora trovato un modo per liberarmene (o non ci sono riuscito).
Un altro problema è stato che ha prodotto un messaggio di errore quando è stato eseguito il backup. Considerando che ci sono 10.000 immagini, riempie inutilmente i log degli errori. Questo a volte può farci perdere problemi importanti. (Potrebbe essere meglio se non desse un messaggio di errore, ma va notato che i dati su S3 non verranno aggiunti al backup)

Non ricordo di aver avuto altri problemi oltre a questi. Se voglio eseguire il backup dei file su R2, posso connettermi tramite winscp e scaricarli sul mio computer. Se qualcuno chiama, lasciamo una nota qui :slight_smile:

Mi è appena venuto in mente che chi usa S3 può disattivare questa impostazione “backup with uploads” (backup con caricamenti), così possiamo eliminare il messaggio di errore. Perché non ci ho pensato prima… :rofl::rofl:

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.