Goal
Store and retrieve application-level artifacts in the Fusion Blob Store using supported REST APIs. This approach allows external jobs or services, such as Spark-based workflows, to persist and consume data such as Solr update payloads.
Environment
Fusion 5.9 and later
Kubernetes-based Fusion deployments
Guide
Fusion provides a Blob Store API that supports reading and writing files using standard HTTP requests. Blobs are stored at the deployment level and can be accessed by jobs, pipelines, and external services.
Write a blob to the Blob Store
Blobs are written using an HTTP PUT request. The request body contains the contents of the file to be stored.
The supported endpoint format is:
/api/blobs/{relative-path}The relative path defines the directory structure and filename for the blob. Intermediate directories are created automatically if they do not already exist.
Example using Python:
import requests
url = "https://<fusion-host-name>/api/blobs/testblob.txt"
payload="test"
headers={"Content-Type": "*/*"}
auth = ("username", "password")
response = requests.put(
url, data=payload, headers=headers, auth=auth
)
print(response)Note: The Blob Store API does not include an application name in the path. Blobs are stored globally within the Fusion deployment.
Example using cURL:
curl --request PUT \
--url https://{FUSION HOST}/api/blobs/{id} \
--header 'Content-Type: */*' \
--data '{}'
Read a blob from the Blob Store
Blobs are retrieved using an HTTP GET request to the same path used during upload.
The supported endpoint format is:
/api/blobs/{relative-path}Example using curl:
curl --location 'https://<fusion-host-name>/api/blobs/stopwords/stopwords_en.txt' \
--header 'Authorization: ••••••' \The response body contains the raw contents of the stored blob and can be consumed directly by downstream jobs or services.
Use blobs across applications
Blobs are not inherently associated with a specific Fusion application. Application linkage affects visibility in the Fusion UI only and does not impact API-based access.
Blobs can be accessed by any job or service with sufficient permissions, regardless of whether the blob is linked to an application. Linking a blob to an application is required only when the blob must be visible in the Fusion UI.
Verification
After uploading a blob, issue a GET request to the same path. A successful response confirms that the blob is stored correctly and accessible to downstream processes.