【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

相关文章
|
3天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
10465 47
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
23天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
23631 121
|
9天前
|
人工智能 JavaScript API
解放双手!OpenClaw Agent Browser全攻略(阿里云+本地部署+免费API+网页自动化场景落地)
“让AI聊聊天、写代码不难,难的是让它自己打开网页、填表单、查数据”——2026年,无数OpenClaw用户被这个痛点困扰。参考文章直击核心:当AI只能“纸上谈兵”,无法实际操控浏览器,就永远成不了真正的“数字员工”。而Agent Browser技能的出现,彻底打破了这一壁垒——它给OpenClaw装上“上网的手和眼睛”,让AI能像真人一样打开网页、点击按钮、填写表单、提取数据,24小时不间断完成网页自动化任务。
2236 5