Excalibur.Data.Spanner
10.0.0-alpha.10
dotnet add package Excalibur.Data.Spanner --version 10.0.0-alpha.10
NuGet\Install-Package Excalibur.Data.Spanner -Version 10.0.0-alpha.10
<PackageReference Include="Excalibur.Data.Spanner" Version="10.0.0-alpha.10" />
<PackageVersion Include="Excalibur.Data.Spanner" Version="10.0.0-alpha.10" />
<PackageReference Include="Excalibur.Data.Spanner" />
paket add Excalibur.Data.Spanner --version 10.0.0-alpha.10
#r "nuget: Excalibur.Data.Spanner, 10.0.0-alpha.10"
#:package Excalibur.Data.Spanner@10.0.0-alpha.10
#addin nuget:?package=Excalibur.Data.Spanner&version=10.0.0-alpha.10&prerelease
#tool nuget:?package=Excalibur.Data.Spanner&version=10.0.0-alpha.10&prerelease
Excalibur.Data.Spanner
Google Cloud Spanner data-provider foundation for Excalibur. Provides the non-Dapper adapter base that the
forthcoming Excalibur.*.Spanner persistence stores (event store, outbox, inbox, saga) will build on — those
stores are not yet shipped in this package.
Spanner is not a Dapper target: it uses the mutation API rather than sequences/auto-increment, and has no
pessimistic locking (FOR UPDATE ... SKIP LOCKED). Concurrency is optimistic — write conflicts surface as
retryable ABORTED transactions.
What this package provides
SpannerOptions— project/instance/database addressing, emulator endpoint, and abort-retry tuning, validated at startup (ValidateOnStart).ISpannerConnectionProvider— creates connections and runs work underExecuteInRetryableTransactionAsync, replayingABORTEDtransactions with exponential backoff.SpannerCommitLimits— the Spanner per-commit ceilings (80,000 mutations / 100 MiB) the stores chunk against.AddSpannerDataProvider(...)— one-time DI registration the store packages depend on.
Usage
services.AddSpannerDataProvider(o =>
{
o.ProjectId = "my-project";
o.InstanceId = "my-instance";
o.DatabaseId = "my-database";
// o.EmulatorHost = "localhost:9010"; // local development / integration tests
});
Set EmulatorHost (or the SPANNER_EMULATOR_HOST environment variable) to target the official Spanner
emulator.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Ben.Demystifier (>= 0.4.1)
- Dapper (>= 2.1.72)
- Excalibur.Data.Abstractions (>= 10.0.0-alpha.10)
- Excalibur.Dispatch.Abstractions (>= 10.0.0-alpha.10)
- Google.Api.Gax.Grpc (>= 4.13.1)
- Google.Apis.Auth (>= 1.73.0)
- Google.Cloud.Spanner.Data (>= 4.6.0)
- Google.Protobuf (>= 3.34.1)
- Grpc.Net.Client (>= 2.76.0)
- Medo.Uuid7 (>= 3.2.0)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.10 | 61 | 9/6/2026 |
| 10.0.0-alpha.9 | 64 | 8/31/2026 |
| 10.0.0-alpha.8 | 68 | 8/14/2026 |
| 10.0.0-alpha.7 | 65 | 8/13/2026 |
| 10.0.0-alpha.6 | 78 | 8/11/2026 |
| 10.0.0-alpha.5 | 62 | 8/10/2026 |
| 10.0.0-alpha.4 | 62 | 8/10/2026 |
Release notes and versioning policy: https://docs.excalibur-dispatch.dev/docs/migration/version-upgrades