Este tema describe cómo crear una función de Python.
Requisitos previos
Debe haber creado un proceso de negocio. Para obtener más información, consulte Create and manage business processes.
Contexto
En DataService Studio, puede crear, probar y publicar funciones. Una vez publicada una función, puede asociarla con una API. La función actúa como filtro para procesar los parámetros de solicitud o los datos de respuesta de la API, lo que permite realizar consultas complejas y adaptarse a diversos escenarios de negocio.
Límites
Debe adquirir DataWorks Professional Edition o una edición superior para utilizar funciones de Python y la función de filtro.
Las funciones de Python deben ejecutarse en el resource group compartido para DataService Studio.
Las funciones de Python se encuentran en proceso de refactorización. No es posible crear, clonar ni publicar nuevas funciones de Python. Si necesita utilizar esta funcionalidad, se recomienda emplear una función Aviator. Para obtener más información, consulte Create an Aviator function.
Al utilizar una función como filtro de API, tanto el filtro de preprocesamiento como el de posprocesamiento deben ser funciones de Python.
-
Se aplican las siguientes restricciones al usar una función de Python como filtro:
Los filtros solo admiten la sintaxis de Python 3.0.
Los filtros solo admiten los siguientes módulos:
import json,time,random,pickle,re,math.Los filtros requieren la firma de función
def handler(event,context):.
Estructura de la función
# -*- coding: utf-8 -*-
# event (str): The API result if used as a filter, or your parameters in other cases.
# context: Contains environment information. This parameter is currently not in use.
# Supported import modules: json, time, random, pickle, re, math.
# Do not modify the function name.
import json
def handler(event,context):
# Load the string into a JSON object.
obj = json.loads(event)
# Add your code here.
# End of custom code.
return obj
Puede modificar esta plantilla de función y cambiar los nombres de los parámetros de entrada según sus necesidades.
Parameter 1 [context]: Contains the API execution context. This parameter is not currently used.
Parameter 2 [event]: Contains the API request parameters or the result from the previous filter.
El sistema convierte los parámetros de solicitud de la API o la salida del filtro anterior en una cadena JSON y la pasa al parámetro event. Cada value del objeto JSON debe ser una cadena.
Un filtro de preprocesamiento genera un mapa de pares clave-valor que la instrucción SQL posterior utiliza como parámetro de entrada. Por lo tanto, el mapa debe tener una profundidad de 1 (mapa plano).
Ir a DataService Studio
Inicie sesión en la consola de DataWorks. En la región objetivo, haga clic en en el panel de navegación izquierdo. Seleccione un espacio de trabajo de la lista desplegable y haga clic en Go to DataService Studio.
Crear una función
-
En el panel Service Development, pase el cursor sobre el icono
y haga clic en .Alternativamente, localice el proceso de negocio objetivo, haga clic con el botón derecho en Function y seleccione .
-
En el cuadro de diálogo Create Python Function, configure los parámetros.
Parámetro
Descripción
Function Name
Nombre de la función. Debe tener 256 caracteres o menos.
Function Template
Solo se admite la plantilla Python3 Standard v1.
Runtime Environment
Solo se admite Python 3.0.
Function Description
Descripción de la función. Debe tener 512 caracteres o menos.
Location
Carpeta donde se almacenará la función.
Haga clic en Confirm.
-
Configure la función en su página de edición.
En la sección Edit Code, introduzca el código de la función.
En la sección Environment Configuration, establezca los valores de Memory y Timeout.
Haga clic en el icono de guardar
en la barra de herramientas.
Siguientes pasos
Una vez creada la función, puede probarla y desplegarla. Para obtener más información, consulte Test, deploy, and use a function y Deploy a function.
Después de desplegar la función, puede asociarla con una API y utilizarla como filtro previo o posterior para procesar parámetros de solicitud y datos de respuesta. Para obtener más información, consulte Use a function as an API filter.