Metadata API Structure
Amundsen metadata service consists of three packages, API, Entity, and Proxy.
Selecting the appropriate proxy (Neo4j or Atlas) is configurable using a config variable
which takes the path to class name of proxy module available here.
Note: Proxy’s host and port are configured using config variables
Both of these variables can be set using environment variables.
Neo4j proxy module serves various use case of getting metadata or updating metadata from or into Neo4j. Most of the methods have Cypher query for the use case, execute the query and transform into entity.
Statsd utilities module has methods / functions to support statsd to publish metrics. By default, statsd integration is disabled and you can turn in on from Metadata service configuration. For specific configuration related to statsd, you can configure it through environment variable.
Entity package contains many modules where each module has many Python classes in it. These Python classes are being used as a schema and a data holder. All data exchange within Amundsen Metadata service use classes in Entity to ensure validity of itself and improve readability and mainatability.
There are different settings you might want to change depending on the application environment like toggling the debug mode, setting the proxy, and other such environment-specific things.