Tutoriales

Utilice esta herramienta para crear API sin código

Las interfaces de programación de aplicaciones (API) son como el combustible para la transformación digital, lo que permite a las empresas desarrollar rápidamente aplicaciones y microservicios. camión de datos.IO es un backend de API nuevo, gratuito y de código abierto (Apache 2.0) sin código/sin código que reduce el tiempo que lleva construir las API.

DataTrucker lee la configuración simple de JSON y YAML y genera código para convertirlo en una API. Además de crear el código, aloja el código base en un servidor Node.js y lo pone a disposición del público de inmediato.

DataTrucker maneja la mayoría de las actividades diarias que un desarrollador necesita realizar en un nuevo proyecto, incluyendo:

  • Cree puntos finales de API con lógica comercial específica (usando un complemento simple)
  • Aplicar control de acceso estándar basado en roles (RBAC)
  • Aplicar lógica de autorización
  • Aplicar endurecimiento en puntos finales
  • Manejo de la gestión de registros
  • Conecta varios sistemas
  • Lógica empresarial modular
  • Hágalo todo con poco o ningún código

Instale el camión de datos

Este tutorial muestra cómo instalar DataTrucker en OpenShift y crear una API para una base de datos de Postgres. El proceso es similar en un entorno de Kubernetes.

[ Download The API owner’s manual to learn 7 best practices of effective API programs. ]

Paso 1: crea un espacio de nombres llamado camionero

oc new-project trucker

Paso 2: Descarga e instala la aplicación

DataTrucker.IO está disponible en OperatorHub de OpenShift y se puede agregar a su clúster como operador.

(Gaurav Shankar, CC BY-SA 4.0)

Paso 3: Navegue a Operadores

hacer clic operador en el panel de navegación izquierdo y abra camión de datos.IO operador.

(Gaurav Shankar, CC BY-SA 4.0)

Paso 4: Cree la configuración de DataTrucker ejecutando el objeto YAML

Cree una reclamación de volumen persistente (PVC) para el backend de la base de datos. (notas: La base de datos de Postgres proporcionada a continuación utiliza Contenedor de datos crujientes Comienzo. Recomiendo usar bases de datos con redundancia geográfica reforzadas para las cargas de trabajo de producción. )

  1. Crear un samplepvc.
  2. Cree una instancia del objeto DatatruckerConfig.
  3. antes de hacer clic crearasegurarse TempDB.enabledverdadero en el objeto DatatruckerConfig. Esto es necesario para la creación de prototipos para la demostración a continuación.

Puedes encontrar un ejemplo en DataTrucker Repositorio GitLab.

oc apply -f DatatruckerConfig.yaml

objeto de configuración Kind: DatatruckerConfig Crea lo siguiente:

  • base de datos postgres: Puede crear un temporal no endurecido Datos crujientes Siga la base de datos para este tutorial habilitando lo siguiente en su configuración de DataTrucker (recuerde que para las cargas de trabajo de producción debe usar una base de datos reforzada con redundancia geográfica):
      TempDB:
        enabled: true
        pvc: samplepvc
  • Configuración de la base de datos: En un sistema de producción, use una base de datos Postgres con redundancia geográfica:
        user: testuser
        password: password
        databasename: userdb
        hostname: db
        type: pg
        port: 5432
  • Configuración de cifrado: Cree una configuración de cifrado:
     API:
        cryptokeys: |-
           ....

    Para más detalles ver endurecimiento de producción Apartado de la documentación de DataTrucker.IO.

Paso 5: Cree puntos finales de inicio de sesión y administración

Cree el punto final para obtener el token de inicio de sesión:

apiVersion: datatrucker.datatrucker.io/v1
kind: DatatruckerFlow
metadata:
  name: login-endpoint
spec:
  Type: Login  
  DatatruckerConfig: < the name of the config object created in step 4 >

Cree puntos finales para la administración y las credenciales de RBAC:

apiVersion: datatrucker.datatrucker.io/v1
kind: DatatruckerFlow
metadata:
  name: management-endpoint
spec:  
  Type: Management  
  DatatruckerConfig: < the name of the config object created in step 4 >

Los elementos anteriores crean puntos finales de implementación y servicio para la interfaz de usuario (UI) y la API de administración.

Paso 6: exponer el extremo de administración

Ruta pública:

$ oc get svc | grep endpoint
login-endpoint                                            ClusterIP   10.217.5.89            80/TCP     3m43s
management-endpoint                                       ClusterIP   10.217.5.220           80/TCP     3m29s
management-endpoint-ui                                    ClusterIP   10.217.4.42            80/TCP     3m28s


$ oc expose svc management-endpoint-ui
route.route.openshift.io/management-endpoint-ui exposed

$ oc expose svc login-endpoint
route.route.openshift.io/login-endpoint exposed


$ oc get routes      
NAME                     HOST/PORT                                         PATH   SERVICES                 PORT   TERMINATION   WILDCARD
login-endpoint           login-endpoint-trucker.apps-crc.testing                  login-endpoint           8080                 None
management-endpoint-ui   management-endpoint-ui-trucker.apps-crc.testing          management-endpoint-ui   9080                 None

Paso 7: Inicie sesión en la interfaz de usuario mediante un navegador web

  1. Crear un usuario administrador:
    (Gaurav Shankar, CC BY-SA 4.0)
  2. Inicie sesión como este usuario administrador:
    (Gaurav Shankar, CC BY-SA 4.0)

Paso 8: crear credenciales de Postgres para la API

Ahora que DataTrucker está instalado y configurado, está listo para crear su API.

Cree credenciales de Postgres para la base de datos de su elección:

  1. Expanda la barra de navegación izquierda.
  2. escoger Certificado.
  3. Abierto Credenciales de PostgreSQL cristal.
  4. hacer clic Crear credenciales.
  5. Ingrese los detalles de su base de datos.
(Gaurav Shankar, CC BY-SA 4.0)

Paso 9: Cree la API de Postgres

Cree un objeto de flujo con la siguiente especificación de trabajo.

---
apiVersion: datatrucker.datatrucker.io/v1
kind: DatatruckerFlow
metadata:
  name: my-first-api
spec:
  DatatruckerConfig: datatruckerconfig-sample
  JobDefinitions:
    - credentialname: db   < cred name from step 8 >
      job_timeout: 600
      name: postgres1
      restmethod: POST
      script: 'select ''[[userinput]]'' as userinput; '  < query you want to execute>
      tenant: Admin
      type: DB-Postgres
      validations:
        properties:
          userinput:
            maxLength: 18
            pattern: '^[a-z0-9]*

La especificación crea un nuevo microservicio para alojar la API, que tiene dos API en su ruta:

  • postgres1:
    • Obtenga la fecha actual y los parámetros de envío del usuario a SQL
    • es una solicitud POST
    • Desinfecte la entrada para las variables de entrada del usuario userinput
  • postgres2:
    • Obtener una lista de mesas disponibles
    • es una solicitud GET

[ Free download: Advanced Linux commands cheat sheet. ]

Ahora, busque el servicio:

$. oc get svc | grep my-first-api 
my-first-api                                              ClusterIP   10.217.5.116           80/TCP     45s

$. oc expose svc my-first-api
route.route.openshift.io/my-first-api exposed

$. oc get routes  | grep my-first-api
my-first-api             my-first-api-trucker.apps-crc.testing                    my-first-api             8080                 None

Ahora que tiene una URL, pruébela.

El formato de la URL es el siguiente:

http:///api/v1/jobs/

En el ejemplo anterior, creó dos JobDefinitions:

  • postgres1 de tipo POST
  • OBTENER tipo de postgres2

Paso 10: prueba tu API

Obtenga el token de inicio de sesión desde el punto final de inicio de sesión:

curl --location --request POST 'http://login-endpoint-trucker./api/v1/login' \
--header 'Content-Type: application/json' \
--data-raw '{
 "username": "xxx",
 "password": "xxxxxxxx",
 "tenant": "Admin"
}'

Response:
{
    "status": true,
    "username": "xxx",
    "token": "xxxxxxxxxxxx"
}

Ahora use el token de inicio de sesión con su API:

  • Primera API:
    curl --location --request POST 'http://my-first-api-trucker./api/v1/jobs/postgres1' \
    --header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "userinput": "myfirstresponse"
    }'
    
    Response:
    {
        "reqCompleted": true,
        "date": "2021-09-05T22:05:58.064Z",
        "reqID": "req-3w",
        "data": {
            "command": "SELECT",
            "rowCount": 1,
            "oid": null,
            "rows": [
               .............
    
    
  • Segunda API:
    curl --location --request GET 'http://my-first-api-trucker./api/v1/jobs/postgres2' \
    --header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' 
    
    Response:
    {
        "reqCompleted": true,
        "date": "2021-09-05T22:03:58.389Z",
        "reqID": "req-35",
        "data": {
            "command": "SELECT",
            "rowCount": 185,
            "oid": null,
            "rows": [
                {
                    " .......
    

Para más información, mira Vídeo de descripción general de DataTrucker.IO.


Este artículo está adaptado de Blog de DataTrucker.IO y republicado con permiso.

type: string
type: object
- credentialname: db < cred name from step 8 >
job_timeout: 600
name: postgres2
restmethod: GET
script: select * from information_schema.tables < query you want to execute>
tenant: Admin
type: DB-Postgres
Type: Job

La especificación crea un nuevo microservicio para alojar la API, que tiene dos API en su ruta:

  • postgres1:
    • Obtenga la fecha actual y los parámetros de envío del usuario a SQL
    • es una solicitud POST
    • Desinfecte la entrada para las variables de entrada del usuario userinput
  • postgres2:
    • Obtener una lista de mesas disponibles
    • es una solicitud GET

[ Free download: Advanced Linux commands cheat sheet. ]

Ahora, busque el servicio:


Ahora que tiene una URL, pruébela.

El formato de la URL es el siguiente:


En el ejemplo anterior, creó dos JobDefinitions:

  • postgres1 de tipo POST
  • OBTENER tipo de postgres2

Paso 10: prueba tu API

Obtenga el token de inicio de sesión desde el punto final de inicio de sesión:


Ahora use el token de inicio de sesión con su API:

  • Primera API:
    
    
  • Segunda API:
    
    

Para más información, mira Vídeo de descripción general de DataTrucker.IO.


Este artículo está adaptado de Blog de DataTrucker.IO y republicado con permiso.

LEER  Cómo convertir texto a voz con eSpeak NG en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba