Getting started¶
Scaffold¶
dotnet new install ConnectSoft.Saas.MeteringTemplate.Installer
dotnet new connectsoft-saas-metering -n ConnectSoft.MyMeteringService -o ./MyService
Use --recurse-submodules from source.
Build and run¶
cd MyService
dotnet build ConnectSoft.Saas.MeteringTemplate.slnx
dotnet run --project src/ConnectSoft.Saas.Metering.Application
REST is at api/usage-meters; gRPC exposes UsageMeterManagementService / UsageMeterQueryService.
Try it¶
# ensure a meter exists, then record usage
curl -X POST https://localhost:5001/api/usage-meters/commands/ensure-provisioned -H "X-Tenant-Id: <tenant>" -d '{ "dimension": "api.requests" }'
curl -X POST https://localhost:5001/api/usage-meters/commands/record-usage -d '{ "dimension": "api.requests", "delta": 5 }'
curl -X POST https://localhost:5001/api/usage-meters/queries/by-tenant-dimension -d '{ "dimension": "api.requests" }'
SampleMeteringSeed seeds a meter (dimension api.requests, counter 42, quota 1000).