Documentation
¶
Index ¶
Constants ¶
View Source
const ( UserTransformerStage = "user_transformer" EventFilterStage = "event_filter" DestTransformerStage = "dest_transformer" TrackingPlanValidationStage = "trackingPlan_validation" )
View Source
const ( StatusCPDown = 809 TransformerRequestFailure = 909 TransformerRequestTimeout = 919 )
Variables ¶
This section is empty.
Functions ¶
func GetVersion ¶
func GetVersion() string
GetVersion gets the transformer version by asking it on /transformerBuildVersion. if there is any error it returns empty string
Types ¶
type Metadata ¶ added in v1.12.0
type Metadata struct {
SourceID string `json:"sourceId"`
WorkspaceID string `json:"workspaceId"`
Namespace string `json:"namespace"`
InstanceID string `json:"instanceId"`
SourceType string `json:"sourceType"`
SourceCategory string `json:"sourceCategory"`
TrackingPlanId string `json:"trackingPlanId"`
TrackingPlanVersion int `json:"trackingPlanVersion"`
SourceTpConfig map[string]map[string]interface{} `json:"sourceTpConfig"`
MergedTpConfig map[string]interface{} `json:"mergedTpConfig"`
DestinationID string `json:"destinationId"`
JobID int64 `json:"jobId"`
SourceJobID string `json:"sourceJobId"`
SourceJobRunID string `json:"sourceJobRunId"`
SourceTaskRunID string `json:"sourceTaskRunId"`
RecordID interface{} `json:"recordId"`
DestinationType string `json:"destinationType"`
MessageID string `json:"messageId"`
OAuthAccessToken string `json:"oauthAccessToken"`
// set by user_transformer to indicate transformed event is part of group indicated by messageIDs
MessageIDs []string `json:"messageIds"`
RudderID string `json:"rudderId"`
ReceivedAt string `json:"receivedAt"`
EventName string `json:"eventName"`
EventType string `json:"eventType"`
SourceDefinitionID string `json:"sourceDefinitionId"`
DestinationDefinitionID string `json:"destinationDefinitionId"`
TransformationID string `json:"transformationId"`
TransformationVersionID string `json:"transformationVersionId"`
SourceDefinitionType string `json:"-"`
}
type Response ¶ added in v1.12.0
type Response struct {
Events []TransformerResponse
FailedEvents []TransformerResponse
}
Response represents a Transformer response
type Transformer ¶
type Transformer interface {
Transform(ctx context.Context, clientEvents []TransformerEvent, batchSize int) Response
UserTransform(ctx context.Context, clientEvents []TransformerEvent, batchSize int) Response
Validate(ctx context.Context, clientEvents []TransformerEvent, batchSize int) Response
}
Transformer provides methods to transform events
func NewTransformer ¶
func NewTransformer(conf *config.Config, log logger.Logger, stat stats.Stats, opts ...Opt) Transformer
NewTransformer creates a new transformer
type TransformerEvent ¶ added in v1.12.0
type TransformerEvent struct {
Message types.SingularEventT `json:"message"`
Metadata Metadata `json:"metadata"`
Destination backendconfig.DestinationT `json:"destination"`
Libraries []backendconfig.LibraryT `json:"libraries"`
}
type TransformerResponse ¶ added in v1.12.0
type TransformerResponse struct {
// Not marking this Singular Event, since this not a RudderEvent
Output map[string]interface{} `json:"output"`
Metadata Metadata `json:"metadata"`
StatusCode int `json:"statusCode"`
Error string `json:"error"`
ValidationErrors []ValidationError `json:"validationErrors"`
}
Click to show internal directories.
Click to hide internal directories.