Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ FunctionGraph/ Referencia de la API/ Ejemplos/ Ejemplo 3: Creación de una función mediante la carga de código en un bucket de OBS
Actualización más reciente 2022-11-07 GMT+08:00

Ejemplo 3: Creación de una función mediante la carga de código en un bucket de OBS

Caso

Este ejemplo le guía a través del procedimiento para cargar código local en un bucket de Object Storage Service (OBS) y crear una función de Python 2.7 mediante la URL de enlace del bucket de OBS.

Para obtener más información sobre cómo llamar a las API, consulte Llamar a APIs.

Prerrequisitos

Se ha creado un bucket de OBS.

Procedimiento general

Después de escribir el código de función en su entorno local, cargue el archivo de código a un bucket de OBS y use la URL de enlace del bucket de OBS para crear una función. Siga el siguiente procedimiento:

  1. Escriba código en su entorno local para crear un proyecto de función.
  2. Comprima el archivo de código en un paquete ZIP, suba el paquete al bucket OBS y registre la URL de enlace de este bucket.
  3. Llama a la API en Creación de una función para crear una función usando la URL de enlace del bucket de OBS.

Paso 1: Crear un proyecto de función

  1. Escribir código para imprimir texto helloworld.

    Abre un editor de texto, compila una función HelloWorld y guarda el archivo de código como helloworld.py. El código es el siguiente:

    def printhello(): 
        print 'Hello world!' 
  2. Defina una función de FunctionGraph.

    Abra un editor de texto, defina una función y guarde el archivo de función como index.py bajo el mismo directorio que el archivo helloworld.py. El código de función es el siguiente:

    import json 
    import helloworld 
    def handler (event, context): 
        output =json.dumps(event) 
        helloworld.printhello() 
        return output

Paso 2: Subir el proyecto a un bucket de OBS

  1. En el proyecto de función, seleccione los archivos helloworld.py e index.py y comprímalos en fss_examples_python2.7.zip.
  2. Suba el paquete fss_examples_python2.7.zip al bucket de OBS y registre la URL de enlace del bucket de OBS.

Paso 3: Llamar a la API de creación de funciones para crear una función usando la URL de enlace del bucket de OBS

URI: POST /v2/{project_id}/fgs/functions

Para obtener más información, consulte Creación de una función.

  • Ejemplo de la solicitud
    POST  https://{Endpoint}/v2/{project_id}/fgs/functions
    {
     "code_type": "obs",
     "code_url": "https://test.obs.xxx.xxx.com/fss_examples_python2.7.zip",
     "func_name": "create_function_from_obs",
     "handler": "index.handler",
     "memory_size": 256,
     "package": "default",
     "runtime": "Python2.7",
     "timeout": 30
    }

    code_url indica la URL de enlace del bucket OBS registrado en 2.

  • Ejemplo de la respuesta
    {
     "func_urn": "urn:fss:{project_name}:{project_id}:function:default:create_function_from_obs:latest",
     "func_name": "create_function_from_obs",
     "domain_id": "0503xxxa960",
     "namespace": "{project_id}",
     "project_name": "xxx",
     "package": "default",
     "runtime": "Python2.7",
     "timeout": 30,
     "handler": "index.handler",
     "memory_size": 256,
     "cpu": 400,
     "code_type": "obs",
     "code_url": "https://test.obs.xxx.xxx.com/fss_examples_python2.7.zip",
     "code_filename": "fss_examples_python2.7.zip",
     "code_size": 436,
     "digest": "3af770ada27514564b1a20d964cba4b35f432fa40f9fc4f4f7c1f0d2f42eac6cb4db1358c195235966b05f66b4664e7bf31c3f384a9066b3d1fcc3e96b4c3f65",
     "version": "latest",
     "image_name": "latest-200619100734@gjf4p",
     "last_modified": "2020-06-19T10:07:34+08:00",
     "strategy_config": {
      "concurrency": -1
     },
     "StrategyConfig": {},
     "enterprise_project_id": "0"
    }