Obtener datos de imagen de PSQL y almacenarlos en SQL

Guarde un par de imágenes en Cloud DB (AWS2k19DB), Global common- TEST_Images usando el script GAB .

Esquema de tabla :

CREAR TABLA "TEST_Images"(
"ImageID" ENTERO NO NULO,
"Imagen" LONGVARBINARY,
"Descripción" V ARC HAR(50) );

Recuperación de datos de imágenes usando TURN_REST :

1. Vaya a Azure Portal y cree una nueva aplicación lógica.

2. Una vez que el recurso esté listo, vaya a Herramientas de desarrollo > Diseñador de aplicaciones lógicas > Aplicación lógica en blanco y busque desencadenador HTTP.

3. Agregue el disparador HTTP al diseñador de la aplicación lógica y proporcione todos los detalles y guarde el diseñador.

Método : POST
URI : https://GLO010.gss-webapi.com:16000/TURNSERVICEREST/POST
Encabezados : tipo de contenido, aplicación/json

Cuerpo : {"input": "ExecuteQueryWithReturn*!*Seleccione * de TEST_Images *!* f3af3e42781a5547f9e330d153e36013"}

4. Agregue un nuevo paso para analizar los datos JSON a fin de que los datos sean legibles para la base de datos.

Haga clic en Nuevo paso y busque Parse Json. Seleccione Analizar JSON en la sección Acciones.

Proporcionamos el cuerpo de la salida de la solicitud HTTP como el contenido de la acción Parse JSON.

 ESQUEMA JSON:
{
"elementos": {
"propiedades": {
"Descripción": {
"tipo": "cadena"
},
"Imagen": {
"tipo": "cadena"
},
"ID de imagen": {
"tipo": "entero"
}
},
"requerido": [
"ID de imagen",
"Imagen",
"Descripción"
],
"tipo": "objeto"
},
"tipo": "matriz"
}

Nota: Los datos binarios que obtenemos aquí para el campo de imagen se serializan ya que el formato JSON no puede leer directamente los datos binarios.

5. Para almacenar los datos en la base de datos usamos el procedimiento de almacenamiento. Debe crear un procedimiento de almacenamiento en la base de datos que acepte los datos en formato JSON. Estamos utilizando el procedimiento de almacenamiento ya que hay una gran cantidad de datos.

Esquema de tabla :

UTILIZAR [ASI]
VAMOS

ESTABLECER ANSI_NULLS EN
VAMOS

ESTABLECER QUOTED_IDENTIFIER EN
VAMOS

ESTABLECER ANSI_PADDING EN
VAMOS

CREAR TABLA [dbo].[Imágenes de prueba](
[ImageID] [int] NO NULO,
[Imagen] [varbinary](max) NULL,
[Descripción] [varchar](50) NULL
)

VAMOS

ESTABLECER ANSI_PADDING OFF

VAMOS

Ejemplo de procedimiento de almacenamiento para la tabla ITEM_MASTER que acepta datos JSON :

UTILIZAR [ASI]
VAMOS
ESTABLECER ANSI_NULLS EN
VAMOS
ESTABLECER QUOTED_IDENTIFIER EN
VAMOS

CREAR PROCEDIMIENTO [dbo].[SP_TESTIMAGE]
(
@JSON NV ARC HAR(MÁX.)
)

COMO

COMENZAR

INSERTAR EN Imágenes de prueba
(
[ID de imagen], [Imagen], [Descripción]
)
SELECCIONE
[ID de imagen], [Imagen], [Descripción]
Desde OPENJSON(@JSON)
con
(
[ID de imagen] [int] '$.ID de imagen',
[Imagen] [varbinary](max) '$.Imagen',
[Descripción] [varchar](50) '$.Descripción'
)

Fin

Nota: Los datos binarios se deserializan nuevamente y se almacenan como datos binarios en el SQL. Esto lo hace automáticamente el componente OPENJSON en el SQL.

Agregue un nuevo paso en la aplicación lógica y seleccione para SQL Server. En el servidor SQL, seleccione Ejecutar procedimiento de almacenamiento.

ServerName : nombre del servidor donde está presente la instancia de Azure.

DatabaseName: Nombre de la base de datos donde están presentes la tabla que invoca y el SP.

Nombre del procedimiento : Nombre del procedimiento de almacenamiento. Cuando seleccione el nombre del procedimiento de almacenamiento en el menú desplegable, le pedirá "Agregar nuevo parámetro".

Agregar nuevo parámetro : proporcionará el JSON como parámetro, que agrega un nuevo elemento JSON en la ventana. Ahora proporcione el "elemento" de salida de Parse JSON como entrada del JSON.

6. Ahora guarde la aplicación Logic y ejecútela.

Recuperación de datos de imágenes usando TURN_SOAP :

Usando TURN_SOAP, podemos ver directamente las imágenes usando la cuadrícula del programa de muestra, ya que los datos no están serializados.

Ejemplo :
Ejecute la aplicación TEST_TURN y proporcione los detalles y haga clic en TEST SOAP. Puede ver las imágenes y los datos en la cuadrícula a continuación.

Otras versiones

  • Versión 1
  • Versión 2
  • Versión 3
  • Versión 4
Was this article helpful?