文档首页 > > 最佳实践> 构建外卖订单业务应用> 构建后台功能程序> 构建通知客户配送分配成功函数

构建通知客户配送分配成功函数

分享
更新时间: 2019/07/13 GMT+08:00

函数参数

创建func_inform函数,功能为通知客户订单任务分配成功信息,参数说明如表1

表1 func_inform函数

参数

配置项

函数名称

func_inform

运行时语言

Python 2.7

执行入口

index.handler

代码上传方式

在线编辑

内存

256

超时

60

操作步骤

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

    1. 填写基本配置信息

      函数名称输入“func_inform”。

      所属应用选择默认的“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
      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
      # -*- coding:utf-8 -*-
      import json, re
      import httplib, urllib, ssl
      
      def post(host, url, token, body, expect=200):
      	headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}
      	body = json.dumps(body)
      	conn = httplib.HTTPSConnection(host, context=ssl._create_unverified_context())
      	conn.request("POST", url, body, headers)
      	response = conn.getresponse()
      	data = response.read()
      	if response.status != expect:
      		raise Exception(
      			"publish failed with status:", response.status,
      			", expecting: ", expect, 
      			", reason:", response.reason,
      			", data:", data)
      	return data
      
      def sendMessage(topicName, body, context):
      	token = context.getToken()
      	projectId = context.getProjectID()
      	topicUrn = ':'.join(['urn', 'smn',  'cn-north-1', projectId, topicName])
      	post('smn.cn-north-1.myhwclouds.com', 
      		 '/v2/' + projectId + '/notifications/topics/' +topicUrn + '/publish', 
      		 token, 
      		 body)
      	return 
      
      def handler (event, context):
      	topicName = "user_" +  event["user_id"] + "_notifications"	
      	
      	body = {
      		"subject": "NOTICE",
      		"message_template_name": "user_inform",
      		"tags": {
      			"order_id": event["order_id"],
      			"vehicle_id": str(event["vehicle_id"])
      		}
      	}
      	
      	sendMessage(topicName, body, context)
      	
      	return json.dumps(event)
      
      图2 代码配置
    3. 单击右侧“创建函数”,完成函数创建。

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

    内存选择“256”,超时输入“60”,如图3所示。

    图3 环境配置

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

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区