# Connect storage through your callables Prerequisite: [persistence](persistence.md). Melder calls your storage functions; the example uses an in-memory dictionary so the complete integration can run without a database service or credentials. | Handler | Arguments | Responsibility | | --- | --- | --- | | Store | kind, profile name, unit ID, payload | Store a plain record | | Fetch | kind, unit ID | Return the stored payload or a known absence | | List | kind, profile name | Enumerate unit IDs for the requested partition | | Delete | kind, unit ID | Remove the explicitly identified stored unit | Configure the needed handlers on `ExternalPersistenceManagerConfiguration`, then attach it through Crystallizer. Inspect `describe_external_persistence_manager()` for the installed wiring and failure counts; `describe_external_interface()` describes the integration contract. ## Verify the remote leg separately A successful local flush does not establish remote delivery under the default lenient write policy. The failure lesson deliberately raises in a store handler, checks the local cache, and checks the increased failure count. Missing read lanes refuse rather than report an empty remote record. The JSON lesson also shows the serialized payload crossing a callable boundary. For record round trips, use strict JSON serialization so unsupported values fail instead of being silently converted into lossy strings. ## The workflow in code These are the core steps from the saved example. Use its complete linked script for all class definitions and setup. ```{literalinclude} ../downloads/04_expert/09_getting_data_into_your_database.py :language: python :pyobject: main :linenos: ``` ## Runnable examples - [Getting data into your database](../examples/expert/09-getting-data-into-your-database.md) — Expert 09 - [Persistence mesh your code their lanes](../examples/expert/02-persistence-mesh-your-code-their-lanes.md) — Expert 02 - [The record crosses as a json string](../examples/expert/28-the-record-crosses-as-a-json-string.md) — Expert 28 [All expert examples](../examples/expert/index.md) · [Level contents](index.md) · [Full contents](../contents.md) [Canonical page source](https://github.com/Synaptic724/melder/blob/0895ce795453cd87e35d70665957b4e89aad3317/docs/expert/external-storage.md)