Cómo guardar envíos de PDF editados en Supabase

Profile picture of Benjamin André-Micolon

Ha añadido SimplePDF a su aplicación o a su Agente de IA y le gustaría almacenar los envíos de PDF en su Supabase Storage.

Podría, por ejemplo:

  • Automatizar aún más el manejo de los envíos: por ejemplo, extraer los datos de los formularios para procesarlos
  • Almacenar el PDF en un vector store para ofrecer búsqueda semántica o detectar automáticamente duplicados o similitudes en los PDFs enviados

Para este tutorial usaremos dos funciones PRO de SimplePDF:

  1. La integración de webhooks - junto con Supabase Edge Functions

El código de la función Supabase Edge se puede encontrar aquí

  1. La integración S3 - junto con Supabase Storage

Configurar Supabase Storage para los envíos de PDF

En esta sección le guiaremos para configurar Supabase Storage como almacenamiento para los envíos de PDF editados (y documentos) en lugar del almacenamiento predeterminado de SimplePDF.

  1. Diríjase a Storage en su proyecto Supabase y haga clic en New bucket

  2. Nombre su bucket, manténgalo privado (no active Public bucket) y luego haga clic en Save

Crear un bucket en Supabase Storage

  1. En la configuración de Storage, cree unas nuevas S3 Access Keys

Crear S3 Access Key en Supabase

  1. Diríjase a su cuenta SimplePDF y configure el almacenamiento S3 de la siguiente manera:

Puede encontrar una guía paso a paso aquí

Endpoint: <COPIE el endpoint en S3 Connection en la configuración de Supabase Storage>
Path-style: <ACTIVE habilitado>
Region: <SELECCIONE la región visible en S3 Connection en la configuración de Supabase Storage>
Bucket: <INTRODUZCA el nombre del bucket: en nuestro ejemplo usamos "pdf">
Access Key ID: <PEGUE el valor obtenido en el paso 3 anterior>
Secret Access Key: <PEGUE el valor obtenido en el paso 3 anterior>

Configurar S3 en SimplePDF

  1. Haga clic en Update y diríjase a su Supabase Storage y observe que se ha añadido automáticamente un nuevo archivo: esto confirma que la configuración está lista.

Puede eliminar este archivo: ya no lo necesitará

Configuración S3 completada en Supabase

Configurar una nueva tabla en Supabase para almacenar los metadatos de los envíos de PDF

En esta sección crearemos una nueva tabla para almacenar los metadatos que recibimos de SimplePDF para cada nuevo envío. Usaremos Supabase Edge Functions para insertar los datos en la tabla.

Si quiere adelantarse y omitir el tutorial, puede ver el código fuente completo, la definición de la tabla y los requisitos previos aquí

  1. Diríjase a Database > Tables y cree una nueva tabla. La llamaremos simplepdf_submissions

  2. Defina el siguiente esquema: Puede ver el esquema definido en SQL en Github aquí

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

Tabla creada en Supabase

  1. Despliegue la Edge Function prediseñada que hemos creado para usted: código fuente en Github
npm i
npm run deploy
  1. Cree una nueva política RLS para permitir que esta Edge Function inserte filas en la tabla simplepdf_submissions:

Para uso en producción, recomendamos una política RLS más estricta o autenticar las llamadas de webhooks pasando un header de autorización desde SimplePDF

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

Política RLS creada

  1. Copie la URL de la Edge Function simplepdf-webhooks en la sección Edge Functions de Supabase

Copiar URL de Edge Function

  1. Diríjase a SimplePDF y configure los webhooks para que apunten a su función simplepdf-webhooks desplegada

Puede encontrar una guía paso a paso aquí

Webhooks configurados en SimplePDF

¡Eso es todo! La integración está lista. Almacenar PDFs editados en Supabase Storage y guardar eventos (y metadatos) usando Supabase Edge Functions sobre envíos de PDF editados en una tabla.

Primer envío de PDF editado en Supabase

Si tiene alguna pregunta, no dude en contactarnos en support@simplepdf.com

También podría interesarte