dohertj2 dohertj2
  • Joined on 2026-02-20

ZB.MOM.WW.HistorianGateway.Contracts (0.2.0)

Published 2026-07-09 05:50:24 -04:00 by dohertj2

Installation

dotnet nuget add source --name dohertj2 --username your_username --password your_token https://gitea.dohertylan.com/api/packages/dohertj2/nuget/index.json
dotnet add package --source dohertj2 --version 0.2.0 ZB.MOM.WW.HistorianGateway.Contracts

About 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 separate galaxy_repository.v1 contract served from the shared ZB.MOM.WW.GalaxyRepository package.

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.

Dependencies

ID Version Target Framework
Google.Protobuf 3.34.1 net10.0
Grpc.Core.Api 2.76.0 net10.0
Details
NuGet
2026-07-09 05:50:24 -04:00
89
Joseph Doherty
232 KiB
Assets (4)
Versions (3) View all
0.3.0 2026-07-14
0.2.0 2026-07-09
0.1.0 2026-06-26