• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

Pasos para crear un proxy API en SAP API Management para Azure Blob Storage para leer/escribir/eliminar/enumerar los blobs o archivos con mensaje de asignación y política de script java

By s4pcademy 


Introducción: Este documento describe cómo crear un proxy API para Azure Blob Storage con mensaje de asignación y política de script java.

Aquí, crearemos un contenedor en Azure Blob Storage y luego crearemos un proxy API para acceder a ese contenedor para crear/eliminar/leer blobs o archivos y también leeremos la lista de blobs o archivos en el contenedor para acceder a él.

Requisito previo: Cree un contenedor en Azure Storage con cualquier nombre y genere una clave SAS para acceder a él. hacer clic aquí para conocer los pasos para crear un contenedor y generar una clave SAS para el contenedor.

He creado un contenedor con el nombre «datos».

Copie la clave SAS y la URL para usar en SAP API Management

Clave SAS: – sp=r&st=2023-12-24T13:36:40Z&se=2023-12-24T21:36:40Z&spr=https&sv=2022-11-02&sr=c&sig=sdsad%dasdsdDFasdasda%2FgfUCnxte8NtVPtswt2iMA%5F

URL: https://.blob.core.windows.net/

Cree un proveedor de API en APIM para Azure Blob Storage.

  • En el conjunto de integración, vaya a Configurar->API, seleccione la pestaña Proveedor de API y haga clic en crear.
  • Dar nombre «Almacenamiento Azure”o cualquier nombre adecuado.

  • Introduzca el nombre de host “” y el puerto “”.
  • Seleccione Tipo de autenticación ninguno.
  • Guárdalo.

Cree un proxy API para la API Rest de Azure Storage.

  • En el conjunto de integración, vaya a Configurar->API.
  • Démosle «AzureBlob» o cualquier nombre y título adecuados, seleccione Alias ​​de host, si tiene varios hosts configurados, proporcione cualquier ruta base, le doy «/blob», el tipo de servicio sería REST.

  • Verá que el proxy API está creado ahora. pero no hay recursos para este proxy API, haga clic en Agregar para agregar recursos.

  • El nombre del recurso sería el nombre de su contenedor. He creado un contenedor con el nombre «datos», por lo que al crear el recurso se proporcionan «datos» en el prefijo de ruta.

***Solo necesitamos tres operaciones: obtener, colocar y eliminar. elimine todas las demás operaciones y haga clic en Aceptar.

  • Todos los recursos relacionados con este proxy se han creado ahora, guárdelos y haga clic en políticas para agregar/editar políticas.

  • En el editor de políticas, he creado 3 políticas en el flujo previo de Punto final objetivo.

  • Asignar política de mensajes “AMtoGetList«Se utiliza para agregar parámetros de consulta cuando el consumidor desea obtener la lista de todos los blobs o archivos en el contenedor. Si puede ver la tabla anterior, encontrará que los encabezados y los parámetros de consulta son los mismos en todas las actividades, excepto la primera en la que debe aparecer una lista de blobs o archivos en la respuesta.

Para la lista de lectura, APIM tiene que enviar parámetros de consulta adicionales «restype=container&comp=list» cuando la solicitud viene con operaciones de obtención y sin

Entonces, la cadena de condición de «AMtoGetList» verificará si el verbo de solicitud es «GET» y no hay después del nombre del recurso o del contenedor y luego ejecutará esta política; de lo contrario, ninguna acción y el flujo pasarán a la siguiente política.

  • La siguiente política es nuevamente la política de Asignar mensaje «AMAddQueryParameters“, que se utiliza para agregar todos los parámetros de la clave SAS excepto el parámetro sig.

  • Agreguemos una política de Java Script «setSig» en el flujo previo del punto final de destino que agregará el parámetro sig a la cadena de consulta.

Pregunta: ¿Por qué utilizamos la política de JavaScript para el parámetro sig?

Respuesta: Debido a que el valor de la firma puede tener algunos caracteres especiales como «%», que se codificarán al enviar la solicitud por cable, «%» se convertirá en «%25» y cambiará el valor de la firma y la autenticación fallará en El fin de Azure.

Solución: decodifique el valor de la firma antes de enviarlo por cable para que, después de codificarlo, se convierta en el valor real de la firma.

Esta política llamará al script java creado «setSig», que puede escribir en scripts

Para crear un script, haga clic en “+”

Dé cualquier nombre y escriba el código en el recurso del script, aquí podemos usar decodificarURIComponente() función para decodificar el valor del parámetro sig.

  • Vaya al editor de políticas y agregue Verificar clave API política de preflujo de punto final del proxy, que se utilizará para autenticar al consumidor.
  • Ingrese cualquier nombre adecuado, le estoy dando VAPIK y Stream debe ser «Solicitud entrante».
  • Ahora, la política se ha agregado con el código predeterminado, debemos cambiarla según nuestros requisitos.
  • Reemplace «variable que contiene la clave de API» por «request.header.x-api-key». El consumidor debe pasar la clave API en el encabezado «x-api-key» que se verificará en APIM.
  • Haga clic en actualizar, luego guarde e implemente API Proxy. Ahora estamos bien con la creación de API proxy, pero la autenticación y suscripción del consumidor aún están pendientes para este proxy.
  • La autenticación se puede realizar mediante Basic/OAuth/PrivateKey o NoAuth con o sin verificación de clave API. en este ejemplo, Usaremos No Auth con verificación de clave API.
  • Agreguemos el proxy API a un producto. Creé un producto llamado «AzureStorage» y le agregué API.
  • Suscribir el producto por parte de un consumidor, suscribí el producto «AzureStorage» para el consumidor «ConsumerOne».
  • Por favor hacer clic aquí para obtener más detalles sobre la creación de productos y suscripciones,
  • Ahora estamos listos para probar el proxy API con clave API.
  • Abra cartero para probar esta API y cree un archivo en el contenedor usando la operación PUT, coloque el encabezado «x-api-key» con el valor de la clave de la aplicación y escriba «datos de prueba1» en la parte del cuerpo, use //si ve la parte resaltada de la imagen a continuación, entonces «datos» es el nombre del contenedor o el nombre del recurso y luego la ruta del archivo, significa que el archivo test1.txt se creará en el contenedor «datos» -> carpeta sección1.Envíe la solicitud y el archivo se creará con el contenido enviado en el cuerpo y se podrá ver en Azure Storage en el contenedor «datos».

  • Ahora, leamos el mismo archivo con la operación get.

Aquí podemos ver el cuerpo de la respuesta con el contenido enviado anteriormente al crear el archivo.

  • Leamos la lista de archivos o blobs en el contenedor usando la operación GET, no es necesario pasar la ruta del archivo aquí.

Conclusión: Este documento explica cómo crear un proxy API para Azure Blob Storage y realizar operaciones de obtención, colocación y eliminación.


Ataques adversarios en la autenticación de usuarios: mecanismos de defensa basados ​​en IA
Previo
8 soluciones que puede integrar con SAP Gateway
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.