Python

Uso de Pydantic para validar documentos JSON con Couchbase 

Couchbase Capella es una oferta de base de datos como servicio (DBaaS) de documentos JSON totalmente gestionada que elimina las tareas de gestión de bases de datos y reduce los costes generales. Capella ofrece rendimiento robusto, flexibilidad y escalabilidad en una moderna base de datos distribuida y nativa de la nube que fusiona los puntos fuertes de las características de las bases de datos relacionales, como SQL y las transacciones ACID, con la flexibilidad y escalabilidad de JSON que define NoSQL.

Pydantic es una biblioteca que permite a los desarrolladores definir y validar objetos JSON personalizados utilizando anotaciones de tipo Python. Pydantic acelera el tiempo de codificación mediante la aplicación de sugerencias de tipo en tiempo de ejecución y la generación de errores de validación fáciles de usar. Los documentos JSON generados mediante pydantic pueden utilizarse en la plataforma Capella sin tener que preocuparse por los documentos mal formados que pueden producirse cuando los documentos JSON se crean mediante la concatenación de cadenas estándar.

Configuración de pydantic

Para ejecutar el proyecto de inicio rápido, necesita los siguientes requisitos previos:

    • URL del repositorio Git: https://github.com/brickj/capella_pydantic
    • Python 3 instalado
    • En pip herramienta de gestión de paquetes
    • Instalado el SDK de Couchbase Capella™:
      • La documentación completa se encuentra en aquí
      • Ejemplo de comando Python: pip install couchbase
    • Instalada la biblioteca python pydantic:
      • La documentación completa se encuentra en aquí
      • Ejemplo de comando Python: pip install pydantic
    • Cuenta Couchbase Capella:
    • Clúster Couchbase Capella y bucket denominado pydantic

 En este blog, recorreré rápidamente un ejemplo de uso de pydantic para crear documentos JSON válidos y almacenarlos en Couchbase Capella.

 El SDK Python de Couchbase permite a los desarrolladores realizar operaciones CRUD en un bucket especificado en un cluster de Couchbase. Por ejemplo, el siguiente fragmento de código realiza un upsert (insertar si la clave del documento no está en el bucket o actualizar si el documento ya existe): 

Los desarrolladores de Python suelen crear documentos JSON utilizando cadenas o enteros para rellenar un objeto diccionario que almacena pares clave-valor. A continuación, ese objeto diccionario se envía al bucket especificado en la base de datos de Capella para su inserción. El código de ejemplo para crear y rellenar el objeto diccionario es similar al siguiente fragmento: 

Con pydantic, los desarrolladores tienen la flexibilidad de especificar un esquema para los objetos JSON que se puede aplicar a medida que se crean los documentos. Por ejemplo, los siguientes pasos a través de la creación de un documento JSON para los mensajes de usuario. El modelo del documento tiene este aspecto:

Data model for pydantic tutorial with Couchbase

Cada UsuarioPost tiene los campos utilizados en la entrada, pero cada entrada puede tener varias revisiones que deben anidarse dentro de la entrada. Para habilitar esta funcionalidad, los desarrolladores pueden crear dos clases separadas para el objeto UsuarioPost y el Consulte. Por ejemplo:

Creación de documentos JSON en Python

Una vez creados los objetos, rellenar los documentos es fácil:

Ahora puede utilizar el UsuarioPost como un diccionario y upsert a Couchbase Capella utilizando un código similar al upsert mostrado anteriormente pero utilizando el objeto dict() método:

El proyecto completo ilustrado en este blog incluye lo siguiente:

    • Léame con instrucciones
    • Código que crea los objetos UserPost y Review
    • Código que genera e imprime un documento a la salida
    • Código que se conecta a Couchbase Capella usando Couchbase Python SDK
    • Código que inserta el documento JSON generado

 El proyecto público puede clonarse para Git en: https://github.com/brickj/capella_pydantic

Próximos pasos

Para saber más sobre Couchbase Capellanuestra oferta de base de datos como servicio:

 Llegados a este punto, deberías ser capaz de utilizar rápidamente la biblioteca pydantic para crear documentos JSON válidos para su uso con Couchbase Capella.

 Si tiene alguna pregunta o comentario, póngase en contacto con nosotros en la dirección Foros de Couchbase!

 

 

 

 

 

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Rick Jacobs

Rick Jacobs es el Director Técnico de Marketing de Producto en Couchbase. Su variada formación incluye experiencia en muchas de las principales organizaciones del mundo, como Computer Sciences Corporation, IBM, Cloudera, etc. Cuenta con más de 15 años de experiencia en tecnología en general, acumulada en puestos de desarrollo, consultoría, ciencia de datos, ingeniería de ventas y marketing técnico. Posee varios títulos académicos, incluido un máster en Ciencias Computacionales por la Universidad George Mason.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.