从 Azure Blob 存储编码 2 次的元数据存储路径
Metadata storage path encoded 2 times from azure blob storage
我有一个 React 项目,该项目也使用 Azure 搜索来管理来自 Azure Blob 存储的文件。在我将 metadata_storage_path
属性 编码为 base64 之前,我可以通过使用 atob(metadata_storage_path.slice(0, -1))
对其进行解码来读取它。现在我删除了 Azure 搜索以向其中添加一些新内容。但是现在我得到了 metadata_storage_path
编码 2 次。
我得到一个看起来像常规 base64 字符串的字符串 ex:
Qhhweufineiurfheurnfuierhfn... and so on
当我解码它时,我得到一个字符串,每个字母之间都有空格
A K T I G H A L J S H S... and so on
如果我删除所有空格并对输出进行解码,我将获得文件的有效路径。
我是否意外启用了一些奇怪的设置?
我以前遇到过同样的问题,但我重新创建了几次 Azure 搜索功能,然后它才开始工作。
听起来您同时拥有 base64Encode field mapping function 和旧索引器参数 base64EncodeKeys
。使用设置为 false
的索引器参数 base64EncodeKeys
更新索引器应该摆脱额外的编码层。
旧版编码参数使用 UTF16 编码,这会在 ASCII 字符之间提供一个额外的 NUL 字节。
不,这可能不是您的错,而是由 UI 造成的我们这边的缺陷。如果与 Azure 搜索团队中的某人交谈,您可以使用 547271 作为跟踪项目编号。
要解决此问题,您需要:
- 使用 POSTMAN 等工具编辑您的索引器(删除旧编码 属性)
- 删除并重新创建您的索引
我有一个 React 项目,该项目也使用 Azure 搜索来管理来自 Azure Blob 存储的文件。在我将 metadata_storage_path
属性 编码为 base64 之前,我可以通过使用 atob(metadata_storage_path.slice(0, -1))
对其进行解码来读取它。现在我删除了 Azure 搜索以向其中添加一些新内容。但是现在我得到了 metadata_storage_path
编码 2 次。
我得到一个看起来像常规 base64 字符串的字符串 ex:
Qhhweufineiurfheurnfuierhfn... and so on
当我解码它时,我得到一个字符串,每个字母之间都有空格
A K T I G H A L J S H S... and so on
如果我删除所有空格并对输出进行解码,我将获得文件的有效路径。 我是否意外启用了一些奇怪的设置?
我以前遇到过同样的问题,但我重新创建了几次 Azure 搜索功能,然后它才开始工作。
听起来您同时拥有 base64Encode field mapping function 和旧索引器参数 base64EncodeKeys
。使用设置为 false
的索引器参数 base64EncodeKeys
更新索引器应该摆脱额外的编码层。
旧版编码参数使用 UTF16 编码,这会在 ASCII 字符之间提供一个额外的 NUL 字节。
不,这可能不是您的错,而是由 UI 造成的我们这边的缺陷。如果与 Azure 搜索团队中的某人交谈,您可以使用 547271 作为跟踪项目编号。 要解决此问题,您需要:
- 使用 POSTMAN 等工具编辑您的索引器(删除旧编码 属性)
- 删除并重新创建您的索引