【Azure AI Search】AI Search的索引器(Indexer)中使用解码函数base64Decode报错

简介: Azure AI Search索引器使用base64Decode时失败,因默认启用URL安全解码(useHttpServerUtilityUrlTokenDecode=true),而源数据为标准Base64编码。解决方案:在mappingFunction中显式设置`"useHttpServerUtilityUrlTokenDecode": false`,即可正确解码。

问题描述

使用AI Search中的索引器(Indexer), 需要把storage account blob的文件属性中的base64编码的内容进行解码,但是在执行索引器的时候,却无法成功

Indexer执行失败截图

Indexer的配置如下:

...
    {
      "sourceFieldName": "test_content_code",
      "targetFieldName": "test_content_code",
      "mappingFunction": {
        "name": "base64Decode",
        "parameters": null
      }
    }
 ...

错误信息

Value cannot be null. (Parameter 'bytes')

Could not parse document. Could not apply mapping function 'base64Decode' to field 'test_content_code'.

这个问题应该如何解决呢?

问题解答

查看AI Search关于索引器的官方文档,找到了对于base64编码的介绍。

Azure AI 搜索支持 URL 安全的 Base64 编码和普通 Base64 编码,在编码和解码的时候需要保持参数一致。

  • 编码时使用:useHttpServerUtilityUrlTokenEncode
  • 解码时使用:useHttpServerUtilityUrlTokenDecode

默认状态useHttpServerUtilityUrlTokenEncode 和 useHttpServerUtilityUrlTokenDecode 都设置为 true。

在本文的问题中,文件属性 test_content_code 的值为普遍 base64编码内容,当使用默认的url 解码方法解码时,就会报错。

解决方法就是在索引器中为base64Decode函数添加useHttpServerUtilityUrlTokenDecode 参数并设置为false

    {
      "sourceFieldName": "test_content_code",
      "targetFieldName": "test_content_code",
      "mappingFunction": {
        "name": "base64Decode",
        "parameters": {
          "useHttpServerUtilityUrlTokenDecode": false
        }
      }
    }

注意:因为索引器对文档的扫描是增量扫描。如果需要它对同一文件进行多次扫描,需要对该文件进行更新操作。

等待索引器执行成功后,再次查询,就可以得到解码后的真实内容:

基于验证,在添加useHttpServerUtilityUrlTokenDecode参数后,成功解决问题!

参考资料

base64Decode function : https://learn.microsoft.com/en-us/azure/search/search-indexer-field-mappings?tabs=rest#base64decode-function

相关文章
|
15天前
|
NoSQL 网络协议 Cloud Native
【Azure Redis】云原生环境下的 Redis 超时之谜:为什么 15 分钟后应用才恢复?
云原生中Redis短暂不可用后应用持续超时15分钟?问题不在Redis,而在Linux TCP默认重传机制(tcp_retries2=15)与长连接模型的错位。需三管齐下:调低内核重传次数、客户端显式配置超时与自动重连、应用层引入断路器与弹性重试。
140 20
|
1月前
|
人工智能 安全 机器人
企业OpenClaw部署实践:基于阿里云无影一键部署方案
OpenClaw(原Clawdbot/Moltbot)是一款开源本地优先AI智能体平台,支持自然语言调用浏览器、邮件、文件等工具,自动处理文档、日程、邮件等任务。阿里云提供一键部署方案,尤其推荐无影云电脑版——集中管理、多端接入、7×24稳定运行、数据不出域、开箱即用。
329 15
|
1月前
|
人工智能 弹性计算 自然语言处理
【手把手教你】阿里云OpenClaw部署实操教程,新手小白也能轻松搞定!
想拥有能自动执行任务、处理文件、联网搜索的AI助手?阿里云OpenClaw一键部署教程来了!全程可视化、零代码,10分钟轻松“养龙虾”——本地优先、支持多模型与IM接入,新手小白也能秒变AI玩家!
547 12
|
1月前
|
存储 人工智能 关系型数据库
OpenClaw怎么可能没痛点?用RDS插件来释放OpenClaw全部潜力
OpenClaw插件是深度介入Agent生命周期的扩展机制,提供24个钩子,支持自动注入知识、持久化记忆等被动式干预。相比Skill/Tool,插件可主动在关键节点(如对话开始/结束)执行逻辑,适用于RAG增强、云化记忆等高级场景。
944 56
OpenClaw怎么可能没痛点?用RDS插件来释放OpenClaw全部潜力
|
20天前
|
人工智能 数据可视化 机器人
OpenClaw一键部署攻略,手把手教你 “养龙虾”!
还在为部署OpenClaw踩坑发愁?“养龙虾”其实超简单!本文奉上阿里云一键云端部署攻略:全程可视化、零代码,仅两步——买预装服务器+填API密钥,5分钟即可拥有专属AI数字员工!支持微信/钉钉协同、文件处理、日程管理、代码辅助等,新手友好,成本低廉(新用户首月9.9元+7000万Token免费额度)。
431 25
|
1月前
|
人工智能 Linux iOS开发
OpenClaw部署不求人:零基础从入门到精通(附避坑指南)
想告别“只会聊天”的AI?OpenClaw(龙虾)是当前最火的开源AI智能体框架,真正让AI动手操作电脑——文件管理、浏览器自动化、代码编写全搞定!本文手把手教你零基础完成云端/本地部署,含环境配置、实战运行与避坑指南,小白也能轻松上手!
1069 15
|
1月前
|
人工智能 Linux API
阿里云/本地部署OpenClaw多Bot群内协作指南:一键配置提示词+大模型API完整方案及避坑指南
OpenClaw真正强大的地方,在于支持多Bot在同一群组内自动协作,通过1个Boss Bot+多个执行Bot的分工模式,实现一句话下发需求、全流程自动执行、自动汇总结果。本文将复杂的多智能体配置完全整理为可直接使用的配置与提示词,同时提供2026年阿里云部署、MacOS/Linux/Windows11本地部署流程,以及阿里云千问大模型API、免费Coding Plan API配置方法,搭配全套代码命令与常见问题解答,让你无需理解复杂配置,即可拥有一支全自动AI协作团队。
664 4
|
1月前
|
人工智能 安全 API
阿里云/本地部署OpenClaw及避坑指南:大模型API配置+实战零踩坑方法解析
2026年,OpenClaw(前身为Clawdbot)作为开源AI智能体框架,凭借高度灵活性与扩展性成为技术爱好者的热门选择,但“部署复杂、坑点密集、维护成本高”也让不少用户望而却步。从环境冲突、网络限制到Skill安全风险、数据隐私权衡,每一个环节都可能成为“放弃门槛”。
685 4
|
22天前
|
人工智能 弹性计算 数据可视化
OpenClaw部署成本说明及一键部署指南
OpenClaw是开源智能办公助手,支持任务管理与多平台接入。本文详解其零软件费、低硬件成本(云服务器首月9.9元起)及模型调用策略(百炼新用户享7000万Token免费额度),并提供阿里云一键部署指南,全程可视化、免写代码,5分钟上线专属AI助理!
405 16