Documentation
¶
Index ¶
- type Source
- func (s *Source) Ack(ctx context.Context, msg hermod.Message) error
- func (s *Source) Close() error
- func (s *Source) GetState() map[string]string
- func (s *Source) Name() string
- func (s *Source) Ping(ctx context.Context) error
- func (s *Source) Read(ctx context.Context) (hermod.Message, error)
- func (s *Source) SetState(state map[string]string)
- type SourceConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Source ¶
type Source struct {
// contains filtered or unexported fields
}
func (*Source) Ack ¶
Ack moves the persisted cursor to the acknowledged record. It must not move on read: GetState is the engine's persistence contract, so a cursor advanced when a record is handed out is already past records still in flight, and a crash before the sinks wrote them erases them from the resume.
type SourceConfig ¶
type SourceConfig struct {
Resource string `json:"resource"` // e.g. https://org.crm.dynamics.com
TenantID string `json:"tenant_id"` // Microsoft Entra Tenant ID
ClientID string `json:"client_id"` // App Registration Client ID
ClientSecret string `json:"client_secret"` // App Registration Client Secret
Entity string `json:"entity"` // OData Entity Set Name (e.g., "accounts")
PollInterval string `json:"poll_interval"` // e.g., "1m"
Filter string `json:"filter"` // OData $filter expression
IDField string `json:"id_field"` // Field to use for delta tracking (e.g., "modifiedon")
}
Click to show internal directories.
Click to hide internal directories.