文档首页 > > 最佳实践> 构建外卖订单业务应用> 构建后台功能程序> 构建分析订单地理位置信息函数

构建分析订单地理位置信息函数

分享
更新时间: 2019/12/20 GMT+08:00

函数参数

创建func-parse-loc函数,功能为输入的订单详情中解析出配送距离以及配送城市(注,本函数中,将坐标x、y都为正值的坐标解析为在city_name1 对应城市,将坐标x、y都为负值的坐标解析为在city_name2 对应城市。其他情况视为配送区域外,报错),参数说明如表1

表1 func-parse-loc函数

参数

配置项

函数名称

func-parse-loc

运行时语言

Python 2.7

执行入口

index.handler

代码上传方式

在线编辑

函数依赖包

2中获取的obs链接,示例链接:https://obs-yilai.obs.myhwclouds.com/dep.zip

内存

256

超时

60

自定义参数

city_name1:sz;city_name2:gz

操作步骤

  1. 登录函数工作流服务控制台,进入"函数"界面,单击"创建函数",进入创建函数流程。
  2. 输入函数信息

    1. 填写基本配置信息

      函数名称输入“func-parse-loc”。

      所属应用选择默认的“default”。

      委托名称选择 创建委托中创建的serverless,如 图1所示。
      图1 基础配置
    2. 输入代码信息

      运行时选择:Python 2.7

      函数执行入口选择使用系统默认,无需修改。

      代码上传方式选择“在线编辑”,输入以下代码,如图2所示。

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      # -*- coding:utf-8 -*-
      import json
      def handler (event, context):
          x = float(event["user_x"])
          y = float(event["user_y"])
          dx = float(event["store_x"]) - y
          dy = float(event["store_y"]) - y
      
          dis = dx*dx + dy*dy
      
          if dis >= 25:
              event["city"] = "NULL"
          elif dx > 0 and dy > 0:
              event["city"] = context.getUserData('city_name1') 
          else:
              event["city"] = context.getUserData('city_name2') 
      
          return  json.dumps(event)
      
      图2 代码配置
    3. 单击右侧“创建函数”,完成函数创建。

  3. 进入函数详情页,在“代码”页签,依赖代码包中输入2中获取的obs链接地址,如图3所示。

    图3 依赖代码包

  4. 在“配置”页签,输入环境配置信息。

    内存选择“256”,超时输入“60”,

    环境变量输入city_name1:sz;city_name2:gz,如图4所示。

    图4 环境配置

    city_name1、city_name2分别是obs桶1、桶2名称的后缀。

  5. 单击页面右上角“保存”,保存配置信息。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区