An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
Hi Mitchell,
Thanks for sharing the details,this helped clarify the issue.
The error“Missing file reference object” usually occurs when the Layout skill is not receiving the document in the expected internal format. In a blob indexer scenario, the file reference object is automatically generated and managed by the indexing pipeline, not something that should be passed manually.
When /document/file_data is explicitly bound as an input, it can appear in the enrichment tree as a serialized value (for example, BinaryFileReference=...), which is not the structured object the Document Intelligence Layout skill expects. This leads to the error you’re seeing.
Recommended fix: Remove the explicit file_data input from the skill and allow the Layout skill to read directly from the /document context:
{
"@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill",
"context": "/document",
"outputMode": "oneToMany",
"outputFormat": "text"
}
Your existing indexer setting "allowSkillsetToReadFileData": true is correct and should remain unchanged. This setting ensures that the document file is available within the enrichment pipeline.
This behavior aligns with the design of Azure AI Search, where the indexer provides the document stream and skills operate on the enriched document context rather than manually constructed file inputs.
References:
- Document Layout skill overview: https://learn.microsoft.com/azure/search/cognitive-search-skill-document-intelligence-layout
- Skillsets and enrichment pipeline: https://learn.microsoft.com/azure/search/cognitive-search-working-with-skillsets
- Blob indexing behavior: https://learn.microsoft.com/azure/search/search-how-to-index-azure-blob-storage
Please try this change and rerun the indexer. If the issue persists, I’ll be happy to review the debug output with you in more detail.