全部产品
云市场

编写函数

更新时间:2019-01-15 10:28:36

完成上一步后,您的服务已经可以开始写入函数了。您可以使用 函数计算控制台命令行工具 fcli 提交函数。本文在函数计算控制台上创建了上一步中指定语言版本的函数。

Python 函数代码

以下示例代码可以作为 RDS trigger (event 为json 格式)的函数模版。

  1. import json
  2. import logging
  3. def handler(event, context):
  4. logger = logging.getLogger()
  5. eventObj = json.loads(event)
  6. logger.info("rds trigger event = {}".format(eventObj))
  7. # do your things, for example, Updating the redis cache
  8. return "OK"

参数说明

event 是函数计算的入口参数, 比如删除表中某一行:

  1. {
  2. "offset":"13054",
  3. "timestamp":"1539182054",
  4. "entries":[
  5. {
  6. "operation":"BEGIN",
  7. "timestamp":"1539182055",
  8. "id":"90bd7f98-cac6-11e8-bb08-506b4b2364ec:32690"
  9. },
  10. {
  11. "operation":"DELETE",
  12. "timestamp":"1539182055",
  13. "id":"90bd7f98-cac6-11e8-bb08-506b4b2364ec:32690",
  14. "sequence":"1",
  15. "dbName":"fc-wp",
  16. "tableName":"wp_posts",
  17. "beforeRow":[
  18. {
  19. "name":"id",
  20. "charset":"utf8",
  21. "typeNum":-5,
  22. "orgTypeName":"bigint(20)",
  23. "isPk":true,
  24. "value":"MTI="
  25. },
  26. {
  27. "name":"content",
  28. "charset":"utf8",
  29. "idx":1,
  30. "typeNum":-4,
  31. "orgTypeName":"longtext",
  32. "value":"aGVsbG8="
  33. },
  34. {
  35. "name":"ver",
  36. "charset":"utf8",
  37. "idx":2,
  38. "typeNum":4,
  39. "orgTypeName":"int(11)",
  40. "value":"MjQ="
  41. }
  42. ]
  43. },
  44. {
  45. "operation":"COMMIT",
  46. "timestamp":"1539182055",
  47. "id":"90bd7f98-cac6-11e8-bb08-506b4b2364ec:32690",
  48. "sequence":"2"
  49. }
  50. ]
  51. }

完整的数据格式定义可以参考 RDS 触发器 完整protobuf定义

下一步

3. 测试函数执行