microsoft / microsoft/finops-toolkit

Blank manifest.json does not trigger ingestion due to ignoreEmptyBlobs

Open
#2,057 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Skill: Data factory Skill: Documentation Tool: FinOps hubs
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

Summary

The custom ingestion documentation instructs users to create a blank manifest.json file to trigger ingestion. However, the ADF blob event trigger is configured with ignoreEmptyBlobs: true, which silently drops events for zero-byte blobs. This means a blank manifest.json never triggers the ingestion pipeline.

Root cause

The trigger in hub-eventTrigger.bicep:79 has:

ignoreEmptyBlobs: true

This setting has been present since the trigger module was first created in #100 (April 2023), when it was watching for .csv files. It was carried forward when the trigger was refactored to watch for manifest.json, but the custom ingestion docs were written assuming a blank file would work.

Impact

Users following the docs for custom/multi-cloud ingestion (e.g., AWS, GCP) create an empty manifest.json and the pipeline never runs. There is no error — the event is silently ignored.

Workaround

Write non-empty content to the manifest file, e.g.:

{
  "generatedUtc": "<timestamp>"
}

The content must change on each write to generate a new BlobCreated event.

Credit to @DMarshall-1 for discovering this workaround in #2046.

Suggested fix

Either:

  1. Update the docs to specify that manifest.json must contain non-empty content, and provide a template
  2. Change ignoreEmptyBlobs to false in the trigger — though this may introduce noise from empty blob artifacts
  3. Both: keep ignoreEmptyBlobs: true for safety, update the docs, and provide a sample pipeline snippet that writes the manifest with a timestamp

Related

  • #2046 — Original issue where this was discovered

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/templates/finops-hub/modules/fx/hub-eventTrigger.bicep at line 79 and the custom ingestion documentation linked in the issue. Review the related behavior in #2046, then determine whether the documented manifest format or the trigger setting should change; done means the documented workflow reliably causes ingestion without silently ignored empty blobs.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
cloud, documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.