Сопоставление полей не работает, поскольку в качестве sourceFieldName указано «ID», но в исходном BLOB-объекте отсутствует свойство идентификатора, поскольку оно существует только в указанном вами индексе.
Это может быть немного сбивает с толку, поскольку он ведет себя так, как будто существует свойство "ID", поскольку поле "ID" заполняется без сопоставления полей. Однако это связано с тем, что Azure Поиск автоматически сопоставляет «metadata_storage_path» с тем, какое поле является ключом документа, если не указано сопоставление полей для ключа документа. Это поведение задокументировано здесь .
Если вы хотите, чтобы PromotionId был путем к документу, как поле идентификатора, вы можете изменить sourceFieldName на «metadata_storage_path» для сопоставления поля PromotionId. Если вы также хотите иметь кодировку base64, вы можете добавить функцию fieldMappingFunction к отображению поля.