Come salvare le compilazioni PDF modificate su Supabase

Profile picture of Benjamin André-Micolon

Hai aggiunto SimplePDF alla tua app, o al tuo AI Agent e desideri archiviare le compilazioni PDF nel tuo Supabase Storage.

Potresti ad esempio:

  • Automatizzare ulteriormente la gestione delle compilazioni: ad esempio estrarre i dati dai moduli per elaborarli
  • Archiviare il PDF in un vector store per offrire ricerca semantica o rilevare automaticamente duplicati o somiglianze nei PDF inviati

Per questo tutorial utilizzeremo due funzionalità PRO di SimplePDF:

  1. L'integrazione webhook - insieme alle Supabase Edge Functions

Il codice per la Supabase Edge Function è disponibile qui

  1. L'integrazione S3 - insieme a Supabase Storage

Configurazione di Supabase Storage per le compilazioni PDF

In questa sezione ti guideremo nella configurazione di Supabase Storage come storage per le compilazioni PDF modificate (e i documenti) al posto dello storage predefinito di SimplePDF.

  1. Vai su Storage nel tuo progetto Supabase e fai clic su New bucket

  2. Assegna un nome al bucket, mantienilo privato (non attivare Public bucket) e poi fai clic su Save

Crea un bucket in Supabase Storage

  1. Nelle impostazioni di Storage, crea una nuova S3 Access Keys

Crea una S3 Access Key in Supabase

  1. Vai al tuo account SimplePDF e configura lo storage S3 come segue:

Puoi trovare una guida passo-passo qui

Endpoint: <COPIA l'endpoint nella sezione S3 Connection nelle impostazioni di Supabase Storage>
Path-style: <ATTIVA>
Region: <SELEZIONA la regione visibile nella sezione S3 Connection nelle impostazioni di Supabase Storage>
Bucket: <INSERISCI il nome del bucket: nel nostro esempio abbiamo usato "pdf">
Access Key ID: <INCOLLA il valore ottenuto nel passaggio 3 sopra>
Secret Access Key: <INCOLLA il valore ottenuto nel passaggio 3 sopra>

Configurazione S3 in SimplePDF

  1. Fai clic su Update e vai al tuo Supabase Storage per notare che un nuovo file è stato aggiunto automaticamente: questo conferma che la configurazione è pronta!

Puoi eliminare questo file: non ti servirà più

Configurazione S3 completata in Supabase

Configurazione di una nuova tabella Supabase per archiviare i metadati delle compilazioni PDF

In questa sezione creeremo una nuova tabella per archiviare i metadati che riceviamo da SimplePDF per ogni nuova compilazione. Utilizzeremo le Supabase Edge Functions per inserire i dati nella tabella.

Se vuoi andare avanti e saltare il tutorial, puoi vedere il codice sorgente completo, la definizione della tabella e i prerequisiti qui

  1. Vai su Database > Tables e crea una nuova tabella - la chiameremo simplepdf_submissions

  2. Definisci il seguente schema: Puoi vedere lo schema definito in SQL su Github qui

  • id: int8 - Primary
  • document_name: text
  • document_id: text
  • submission_id: text
  • submission_bucket_path: text
  • context: jsonb

Tabella creata in Supabase

  1. Fai il deploy della Edge Function pronta all'uso che abbiamo creato per te: codice sorgente su Github
npm i
npm run deploy
  1. Crea una nuova policy RLS per permettere a questa Edge Function di inserire righe nella tabella simplepdf_submissions:

Per l'uso in produzione, consigliamo una policy RLS più restrittiva o di autenticare le chiamate webhook passando un header di autorizzazione dal lato di SimplePDF

alter policy "Allow edge function to insert into simplepdf_submissions"
  on "public"."simplepdf_submissions"
  to anon
  with check (true);

Policy RLS creata

  1. Copia l'URL della Edge Function simplepdf-webhooks nella sezione Edge Functions in Supabase

Copia l'URL della Edge Function

  1. Vai su SimplePDF e configura i webhook per puntare alla tua funzione simplepdf-webhooks deployata

Puoi trovare una guida passo-passo qui

Webhook configurati in SimplePDF

Ecco fatto! L'integrazione è pronta! Archiviazione dei PDF modificati in Supabase Storage e salvataggio degli eventi (e dei metadati) usando le Supabase Edge Functions sulle compilazioni PDF modificate in una tabella!

Prima compilazione PDF modificata in Supabase

Se hai domande, non esitare a contattarci all'indirizzo support@simplepdf.com