This module handles storing the data that the AIRe platform manages.
You need to have .NET 10.0 installed. Pull the repository and its submodules.
Open the solution in VS Code (recommended, works on Windows/Linux/macOS). You may also use Visual Studio on macOS and Windows.
On VS Code: Install the recommended extensions.
Configure local.settings.json as instructed. You should be running the AIRe Services module locally, too.
Hit F5 and you should be good to go.
You should create local.settings.json in the root of the repository when developing locally. It should look something like this:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"StorageConnectionString": "<Connection string for Table storage or storage emulator>",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"AIRE_MODULE_ID": "aire.development.memory.*",
"AIRE_SERVICE_BASE": "http://localhost:7071/api/",
"AIRE_SERVICE_KEY": "<service key secret>",
"TOKEN_ENCRYPTION_KEY": "<enryption key shared between platform modules>",
"TOKEN_SIGNING_KEY": "<signing key shared between platform modules>",
},
"Host": {
"LocalHttpPort": 7073,
"CORS": "*",
"CORSCredentials": false
}
}Use the same token keys you are using in AIRe Services module.
AIRe Services platform module may configure the following settings:
Visit path /api/swagger/ui to inspect. The default host is set to /api path.
You can set a custom host with OpenApi__HostNames environment value.
Publish the Fuctions app and then setup the following required environment values:
AIRE_MODULE_IDThe identifier of the module as it is configured in the platform.- If the module has different 'compartments', use wildcard
*to accept sub IDs.- Clients calling the module need to use
Aire-Service-Targetheader to tell which compartment they want to use.
- Clients calling the module need to use
- This is the case if you share the module between platform and want to separate the data.
- Or, if you want to use the module multiple times in the platform but with different service configurations.
- Use
table_prefixservice setting to separate tables.
- If the module has different 'compartments', use wildcard
AIRE_SERVICE_BASEThe endpoint of the AIRe Services module.AIRE_SERVICE_KEYThe service key for the AIRe Services module.TOKEN_SIGNING_KEYThe token signing key shared between the platform instance modules.TOKEN_ENCRYPTION_KEYThe token encryption key shared between the platform instance modules.StorageConnectionStringAzure Table Storage connection string
{ // Tells AI module which vector database to use to store this service's embeddings "vector_database_name": "aire_development_memory_db", // Use table name prefix (optional) "table_prefix": "" }