文档首页 > > 最佳实践> 构建外卖订单业务应用> 构建后台功能程序> 构建获取订单所在地区配送员列表函数

构建获取订单所在地区配送员列表函数

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

函数参数

创建func_getCityVList函数,功能为从输入的配送城市信息中获取该城市中的配送员列表,参数说明如表1

表1 func_getCityVList函数

参数

配置项

函数名称

func_getCityVList

运行时语言

Python 2.7

执行入口

index.handler

代码上传方式

在线编辑

内存

256

超时

60

自定义参数

vehicle_list_bucket_prefix:vehicle-list-

操作步骤

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

    1. 填写基本配置信息

      函数名称输入“func_getCityVList”,委托名称选择创建委托中创建的serverless。

    2. 输入代码信息

      运行时选择:Python 2.7

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

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

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      # -*- coding:utf-8 -*-
      import os
      import json
      
      from com.obs.client.obs_client import ObsClient
      from com.obs.models.put_object_header import PutObjectHeader
      from com.obs.models.get_object_header import GetObjectHeader
      from com.obs.models.get_object_request import GetObjectRequest
      from com.obs.response.get_result import ObjectStream
      from com.obs.models.server_side_encryption import SseKmsHeader,SseCHeader
      from com.obs.log.Log import *
      
      
      TEMP_ROOT_PATH = "/tmp/"
      region = 'china'
      secure = True
      signature = 'v4'
      port = 443
      path_style = True
      
      def handler(event, context):
      	obs_address = context.getUserData('obs_address')
      	outputBucket = context.getUserData('obs_output_bucket')	
      	
      	vehicleListBucketPrefix = context.getUserData('vehicle_list_bucket_prefix')	
      	
      	if obs_address is None:
      		obs_address = '100.125.15.200'
      		
      	ak = context.getAccessKey()
      	sk = context.getSecretKey()
      
      	obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=obs_address, signature=signature, path_style=path_style)
      
      	bukcet = vehicleListBucketPrefix + event["city"]	
      	resp = obsClient.listObjects(bukcet)
      
      	event["vlist"] = list()
      
      	for content in resp.body.contents:
      		event["vlist"].append(content.key)
      
      	event["vlist_len"] = str(len(event["vlist"]))
      
      	return json.dumps(event) 
      
      图1 代码配置
    3. 单击右侧“创建函数”,完成函数创建。

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

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

    环境变量输入vehicle_list_bucket_prefix:vehicle-list-,如图2所示。

    图2 环境配置

    vehicle_list_bucket_prefix是obs桶1和桶2名称的共同前缀。

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

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区