华为10plus存储模式,华为10plus怎么调三个键

首页 > 经验 > 作者:YD1662022-10-28 15:59:27

5. 再进一步

有的同学可能注意到了,流程介绍时我提到可以进行进阶的操作,存入 CSS 的算子上头可以拼接很多其他算子,算子的代码包里也留了一个小扩展,可以从上一个算子中读取 other_info 并一起保存,这个能干点啥嘞。咱们举几个场景:

  1. 把对象名缩写存起来,如一个文件叫我的文件.txt,只用输入 wdwj 就能找到该文件的全称
  2. 图片文件上传后,调用 AI 给图片打个标签,把标签存到数据库,可以通过风景、美食、猫咪 等关键词检索到图片,现在华为鸿蒙、苹果 iOS 都有这样的功能
  3. 图片包含文字的话,把文字识别出来存入数据库,可以通过文字搜索图片,在某些业务系统里还可以用专用的算子,如发票识别、身份证识别等。

这里先把最简单的对象名缩写给个示例,抛砖引玉,大家可以自行尝试更多功能。

用了xpinyin 这个库,上传依赖包步骤参考前面的介绍。代码很简单:

# coding:utf-8 from urllib.parse import unquote_plus from xpinyin import Pinyin def handler(event, context): # 获取桶名与对象名 _, _, object_name = get_obs_obj_info(event.get("Records", None)[0]) context.getLogger().info(f"Object name is {object_name}") pinyin = Pinyin() pinyin = pinyin.get_pinyin(object_name, '-') short_pinyin = "".join([i[0] for i in pinyin.split("-") if i[0].isalpha()]) if "other_info" in event["dynamic_source"]: event["dynamic_source"]["other_info"]["short_pinyin"] = short_pinyin else: event["dynamic_source"]["other_info"] = {"short_pinyin": short_pinyin} context.getLogger().info(f"Object short name is {short_pinyin}") context.getLogger().info(event) return event def get_obs_obj_info(record): if 's3' in record: s3 = record['s3'] return record["eventRegion"], s3['bucket']['name'], unquote_plus(s3['object']['key']) else: obs_info = record['obs'] return record["eventRegion"], obs_info['bucket']['name'], \ unquote_plus(obs_info['object']['key'])

这就配置完了,只用去 DWR 工作流页面创建个工作流,把这个函数加载前面:

华为10plus存储模式,华为10plus怎么调三个键(29)

给工作流配置个触发器,然后把之前创建的工作流先删除掉,以免重复触发。再上传几个文件。
搜索下包含 cs 的对象

POST _search { "query": { "regexp": { "short_pinyin": ".*cs.*" } } }

华为10plus存储模式,华为10plus怎么调三个键(30)

,
上一页45678末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.