ZB.MOM.WW.HistorianGateway.Contracts (0.2.0)
Installation
dotnet nuget add source --name dohertj2 --username your_username --password your_token https://gitea.dohertylan.com/api/packages/dohertj2/nuget/index.jsondotnet add package --source dohertj2 --version 0.2.0 ZB.MOM.WW.HistorianGateway.ContractsAbout this package
Protobuf contracts and gRPC stubs for the ZB.MOM.WW.HistorianGateway service (historian_gateway.v1).
ZB.MOM.WW.HistorianGateway.Contracts
Protobuf contracts and generated gRPC stubs for the ZB.MOM.WW.HistorianGateway
service — the public wire API in package historian_gateway.v1
(C# namespace ZB.MOM.WW.HistorianGateway.Contracts.Grpc).
This package is the gateway's own curated contract; it is not a 1:1 mirror of the
vendored AVEVA Historian SDK. It is published so the .NET client library and cross-repo
consumers can reference the generated types without taking an ASP.NET Core dependency
(Google.Protobuf + Grpc.Core.Api + Grpc.Tools, GrpcServices=Both).
Services
Four gRPC services are defined here, all in historian_gateway.v1:
| Service | Required scope | RPCs |
|---|---|---|
HistorianRead |
historian:read |
ReadRaw, ReadAggregate, ReadAtTime, ReadBlocks, ReadEvents |
HistorianWrite |
historian:write |
AddHistoricalValues, SendEvent, WriteLiveValues |
HistorianTags |
historian:read (browse/metadata) / historian:tags:write (mutations) |
BrowseTagNames, GetTagMetadata, EnsureTags, DeleteTags, RenameTags, AddTagExtendedProperties |
HistorianStatus |
historian:read |
Probe, GetConnectionStatus, GetStoreForwardStatus, GetSystemParameter |
The Galaxy object-hierarchy browse service (
GalaxyRepository) is not part of this contract. It is the separategalaxy_repository.v1contract served from the sharedZB.MOM.WW.GalaxyRepositorypackage.
Authorization
gRPC callers present a peppered-HMAC API key (histgw_<id>_<secret>) in the
authorization: Bearer metadata header. Each RPC enforces the scope noted above;
the per-RPC scopes are documented in the .proto service/RPC comments.
Wire-compatibility discipline
The contract is additive-only: field numbers are never renumbered or reused, and
retired fields are reserved. A descriptor-pinning test in the gateway test suite
enforces this invariant against the generated FileDescriptor.
See COMPATIBILITY.md for the full versioning + wire-compatibility
policy and CHANGELOG.md for the release history (including the
opc_quality data-integrity callout at 0.2.0). This package targets net10.0 only
and is packed AnyCPU; the Contracts and Client packages are versioned together.
See the project CLAUDE.md for the full API-surface table, authorization model, and
configuration.