Documentation
¶
Index ¶
- Constants
- Variables
- func SetCurrentBigQuery(slug string, bq BigQuery)
- type BigQuery
- type BigQueryClient
- type BigQueryControlEvent
- type BigQueryEvent
- type BigQueryLongTermStopVisitEvent
- type BigQueryManager
- type BigQueryMessage
- type BigQueryMessageType
- type BigQueryPartnerEvent
- type BigQueryVehicleEvent
- type Code
- type FakeBigQuery
- func (bq *FakeBigQuery) ControlEvents() []*BigQueryControlEvent
- func (bq *FakeBigQuery) LongTermStopVisitEvents() []*BigQueryLongTermStopVisitEvent
- func (bq *FakeBigQuery) Messages() []*BigQueryMessage
- func (bq *FakeBigQuery) PartnerEvents() []*BigQueryPartnerEvent
- func (bq *FakeBigQuery) Start()
- func (bq *FakeBigQuery) Stop()
- func (bq *FakeBigQuery) VehicleEvents() []*BigQueryVehicleEvent
- func (bq *FakeBigQuery) WriteEvent(e BigQueryEvent) error
- type NullBigQuery
- type TestBigQuery
- type TestBigQueryMessage
Constants ¶
View Source
const ( EXCHANGE_TABLE = "exchanges" PARTNER_TABLE = "partners" VEHICLE_TABLE = "vehicles" LONG_TERM_STOP_VISIT_TABLE = "long_term_stop_visits" CONTROL_TABLE = "control_messages" )
Variables ¶
View Source
var AraBigQuerySchemas = map[string]bigquery.Schema{
"bqMessageSchema": bqMessageSchema,
"bqVehicleSchema": bqVehicleSchema,
"bqPartnerSchema": bqPartnerSchema,
"bqLongTermStopVisitsSchema": bqLongTermStopVisitsSchema,
"bqControlSchema": bqControlSchema,
}
Functions ¶
func SetCurrentBigQuery ¶
Types ¶
type BigQuery ¶
func CurrentBigQuery ¶
func NewBigQuery ¶
func NewNullBigQuery ¶
func NewNullBigQuery() BigQuery
type BigQueryClient ¶
type BigQueryClient struct {
uuid.UUIDConsumer
clock.ClockConsumer
// contains filtered or unexported fields
}
*** Real BQ ***
func NewBigQueryClient ¶
func NewBigQueryClient(dataset string) *BigQueryClient
func (*BigQueryClient) Start ¶
func (bq *BigQueryClient) Start()
func (*BigQueryClient) Stop ¶
func (bq *BigQueryClient) Stop()
func (*BigQueryClient) WriteEvent ¶
func (bq *BigQueryClient) WriteEvent(e BigQueryEvent) error
type BigQueryControlEvent ¶
type BigQueryControlEvent struct {
UUID string `bigquery:"uuid"`
Timestamp time.Time `bigquery:"timestamp"`
Criticity string `bigquery:"criticity"`
ControlType string `bigquery:"control_type"`
InternalCode string `bigquery:"internal_code"`
TargetModelClass string `bigquery:"target_model_class"`
TargetModelUUID string `bigquery:"target_model_uuid"`
TranslationInfoMessageKey string `bigquery:"translation_info_message_key"`
TranslationInfoMessageAttributes string `bigquery:"translation_info_message_attributes"`
}
func (*BigQueryControlEvent) EventType ¶
func (bq *BigQueryControlEvent) EventType() string
func (*BigQueryControlEvent) SetTimeStamp ¶
func (bq *BigQueryControlEvent) SetTimeStamp(t time.Time)
func (*BigQueryControlEvent) SetUUID ¶
func (bq *BigQueryControlEvent) SetUUID(u string)
type BigQueryEvent ¶
type BigQueryLongTermStopVisitEvent ¶
type BigQueryLongTermStopVisitEvent struct {
UUID string `bigquery:"uuid"`
Timestamp time.Time `bigquery:"timestamp"`
StopVisitUUID string `bigquery:"stop_visit_uuid"`
PassageOrder int `bigquery:"passage_order"`
AimedDepartureTime bigquery.NullTimestamp `bigquery:"aimed_departure_time"`
AimedArrivalTime bigquery.NullTimestamp `bigquery:"aimed_arrival_time"`
ExpectedDepartureTime bigquery.NullTimestamp `bigquery:"expected_departure_time"`
ExpectedArrivalTime bigquery.NullTimestamp `bigquery:"expected_arrival_time"`
ActualDepartureTime bigquery.NullTimestamp `bigquery:"actual_departure_time"`
ActualArrivalTime bigquery.NullTimestamp `bigquery:"actual_arrival_time"`
DepartureStatus string `bigquery:"departure_status"`
ArrivalStatus string `bigquery:"arrival_status"`
StopAreaName string `bigquery:"stop_area_name"`
StopAreaCodes []Code `bigquery:"stop_area_codes"`
StopAreaCoordinates string `bigquery:"stop_area_coordinates"`
LineName string `bigquery:"line_name"`
LineNumber string `bigquery:"line_number"`
TransportMode string `bigquery:"transport_mode"`
LineCodes []Code `bigquery:"line_codes"`
VehicleJourneyDirectionType string `bigquery:"vehicle_journey_direction_type"`
VehicleJourneyOriginName string `bigquery:"vehicle_journey_origin_name"`
VehicleJourneyDestinationName string `bigquery:"vehicle_journey_destination_name"`
VehicleJourneyCodes []Code `bigquery:"vehicle_journey_codes"`
VehicleDriverRef string `bigquery:"vehicle_driver_ref"`
VehicleOccupancy string `bigquery:"vehicle_occupancy"`
}
func (*BigQueryLongTermStopVisitEvent) EventType ¶
func (bq *BigQueryLongTermStopVisitEvent) EventType() string
func (*BigQueryLongTermStopVisitEvent) SetTimeStamp ¶
func (bq *BigQueryLongTermStopVisitEvent) SetTimeStamp(t time.Time)
func (*BigQueryLongTermStopVisitEvent) SetUUID ¶
func (bq *BigQueryLongTermStopVisitEvent) SetUUID(u string)
type BigQueryManager ¶
type BigQueryManager struct {
// contains filtered or unexported fields
}
type BigQueryMessage ¶
type BigQueryMessage struct {
UUID string `bigquery:"uuid"`
Timestamp time.Time `bigquery:"timestamp"`
IPAddress string `bigquery:"ip_address"`
Protocol string `bigquery:"protocol"` // "siri", "siri-lite", "gtfs", "push"
Type BigQueryMessageType `bigquery:"type"` // "siri-checkstatus", "gtfs-trip-update", …
Direction string `bigquery:"direction"` // "sent" (by Ara), "received" (by Ara)
Partner string `bigquery:"partner"` // partner slug
Status string `bigquery:"status"` // "OK", "Error"
ErrorDetails string `bigquery:"error_details"`
RequestRawMessage string `bigquery:"request_raw_message"` // XML or JSON for GTFS-RT
ResponseRawMessage string `bigquery:"response_raw_message"` // XML or JSON for GTFS-RT
RequestIdentifier string `bigquery:"request_identifier"`
ResponseIdentifier string `bigquery:"response_identifier"`
RequestSize int64 `bigquery:"request_size"`
ResponseSize int64 `bigquery:"response_size"`
ProcessingTime float64 `bigquery:"processing_time"` // in seconds
SubscriptionIdentifiers []string `bigquery:"subscription_identifiers"` // array of ids
StopAreas []string `bigquery:"stop_areas"` // array of code values
Lines []string `bigquery:"lines"` // array of code values
Vehicles []string `bigquery:"vehicles"`
VehicleJourneys []string `bigquery:"vehicle_journeys"` // array of code values
Facilities []string `bigquery:"facilities"`
}
func (*BigQueryMessage) EventType ¶
func (bq *BigQueryMessage) EventType() string
func (*BigQueryMessage) SetTimeStamp ¶
func (bq *BigQueryMessage) SetTimeStamp(t time.Time)
func (*BigQueryMessage) SetUUID ¶
func (bq *BigQueryMessage) SetUUID(u string)
type BigQueryMessageType ¶
type BigQueryMessageType string
const ( BQ_MESSAGE = "message" BQ_VEHICLE_EVENT = "vehicle" BQ_PARTNER_EVENT = "partner" BQ_CONTROL_EVENT = "control" BQ_LONG_TERM_STOP_VISIT_EVENT = "long_term_stop_visit" CHECK_STATUS_REQUEST BigQueryMessageType = "CheckStatusRequest" NOTIFY_ESTIMATED_TIMETABLE BigQueryMessageType = "NotifyEstimatedTimetable" NOTIFY_GENERAL_MESSAGE BigQueryMessageType = "NotifyGeneralMessage" NOTIFY_PRODUCTION_TIMETABLE BigQueryMessageType = "NotifyProductionTimetable" NOTIFY_SITUATION_EXCHANGE BigQueryMessageType = "NotifySituationExchange" NOTIFY_STOP_MONITORING BigQueryMessageType = "NotifyStopMonitoring" NOTIFY_VEHICLE_MONITORING BigQueryMessageType = "NotifyVehicleMonitoring" NOTIFY_FACILITY_MONITORING BigQueryMessageType = "NotifyFacilityMonitoring" DELETE_SUBSCRIPTION_REQUEST BigQueryMessageType = "DeleteSubscriptionRequest" NOTIFY_SUBSCRIPTION_TERMINATED BigQueryMessageType = "NotifySubscriptionTerminated" ESTIMATED_TIMETABLE_REQUEST BigQueryMessageType = "EstimatedTimetableRequest" FACILITY_MONITORING_REQUEST BigQueryMessageType = "FacilityMonitoringRequest" GENERAL_MESSAGE_REQUEST BigQueryMessageType = "GeneralMessageRequest" LINES_DISCOVERY_REQUEST BigQueryMessageType = "LinesDiscoveryRequest" SITUATION_EXCHANGE_REQUEST BigQueryMessageType = "SituationExchangeRequest" STOP_MONITORING_REQUEST BigQueryMessageType = "StopMonitoringRequest" STOP_POINTS_DISCOVERY_REQUEST BigQueryMessageType = "StopPointsDiscoveryRequest" VEHICLE_MONITORING_REQUEST BigQueryMessageType = "VehicleMonitoringRequest" GTFS_TRIP_UPDATES_VEHICLE_POSITION_SERVICE_ALERTS BigQueryMessageType = "trip-updates,vehicle-position,service-alerts" GTFS_TRIP_UPDATES BigQueryMessageType = "trip-updates" GTFS_VEHICLE_POSITION BigQueryMessageType = "vehicle-position" GTFS_REQUEST BigQueryMessageType = "GtfsRequest" SUBSCRIPTION_TERMINATED_NOTIFICATION BigQueryMessageType = "SubscriptionTerminatedNotification" ESTIMATED_TIMETABLE_SUBSCRIPTION_REQUEST BigQueryMessageType = "EstimatedTimetableSubscriptionRequest" GENERAL_MESSAGE_SUBSCRIPTION_REQUEST BigQueryMessageType = "GeneralMessageSubscriptionRequest" PRODUCTION_TIMETABLE_SUBSCRIPTION_REQUEST BigQueryMessageType = "ProductionTimetableSubscriptionRequest" STOP_MONITORING_SUBSCRIPTION_REQUEST BigQueryMessageType = "StopMonitoringSubscriptionRequest" VEHICLE_MONITORING_SUBSCRIPTION_REQUEST BigQueryMessageType = "VehicleMonitoringSubscriptionRequest" SITUATION_EXCHANGE_SUBSCRIPTION_REQUEST BigQueryMessageType = "SituationExchangeSubscriptionRequest" FACILITY_MONITORING_SUBSCRIPTION_REQUEST BigQueryMessageType = "FacilityMonitoringSubscriptionRequest" PUSH_NOTIFICATION BigQueryMessageType = "push-notification" GRAPHQL_REQUEST BigQueryMessageType = "GraphQLRequest" )
type BigQueryPartnerEvent ¶
type BigQueryPartnerEvent struct {
UUID string `bigquery:"uuid"`
Timestamp time.Time `bigquery:"timestamp"`
Slug string `bigquery:"slug"`
PartnerUUID string `bigquery:"partner_uuid"`
PreviousStatus string `bigquery:"previous_status"`
PreviousServiceStartedAt civil.DateTime `bigquery:"previous_service_started_at"`
NewStatus string `bigquery:"new_status"`
NewServiceStartedAt civil.DateTime `bigquery:"new_service_started_at"`
}
func (*BigQueryPartnerEvent) EventType ¶
func (bq *BigQueryPartnerEvent) EventType() string
func (*BigQueryPartnerEvent) SetTimeStamp ¶
func (bq *BigQueryPartnerEvent) SetTimeStamp(t time.Time)
func (*BigQueryPartnerEvent) SetUUID ¶
func (bq *BigQueryPartnerEvent) SetUUID(u string)
type BigQueryVehicleEvent ¶
type BigQueryVehicleEvent struct {
UUID string `bigquery:"uuid"`
Timestamp time.Time `bigquery:"timestamp"`
ID string `bigquery:"id"`
Codes []string `bigquery:"codes"`
Longitude float64 `bigquery:"longitude"`
Latitude float64 `bigquery:"latitude"`
Bearing float64 `bigquery:"bearing"`
RecordedAtTime civil.DateTime `bigquery:"recorded_at_time"`
Occupancy string `bigquery:"occupancy"`
}
func (*BigQueryVehicleEvent) EventType ¶
func (bq *BigQueryVehicleEvent) EventType() string
func (*BigQueryVehicleEvent) SetTimeStamp ¶
func (bq *BigQueryVehicleEvent) SetTimeStamp(t time.Time)
func (*BigQueryVehicleEvent) SetUUID ¶
func (bq *BigQueryVehicleEvent) SetUUID(u string)
type FakeBigQuery ¶
type FakeBigQuery struct {
// contains filtered or unexported fields
}
*** Test Memory Structure ***
func NewFakeBigQuery ¶
func NewFakeBigQuery() *FakeBigQuery
func (*FakeBigQuery) ControlEvents ¶
func (bq *FakeBigQuery) ControlEvents() []*BigQueryControlEvent
func (*FakeBigQuery) LongTermStopVisitEvents ¶
func (bq *FakeBigQuery) LongTermStopVisitEvents() []*BigQueryLongTermStopVisitEvent
func (*FakeBigQuery) Messages ¶
func (bq *FakeBigQuery) Messages() []*BigQueryMessage
func (*FakeBigQuery) PartnerEvents ¶
func (bq *FakeBigQuery) PartnerEvents() []*BigQueryPartnerEvent
func (*FakeBigQuery) Start ¶
func (bq *FakeBigQuery) Start()
func (*FakeBigQuery) Stop ¶
func (bq *FakeBigQuery) Stop()
func (*FakeBigQuery) VehicleEvents ¶
func (bq *FakeBigQuery) VehicleEvents() []*BigQueryVehicleEvent
func (*FakeBigQuery) WriteEvent ¶
func (bq *FakeBigQuery) WriteEvent(e BigQueryEvent) error
type NullBigQuery ¶
type NullBigQuery struct{}
*** Null struct to disable BQ by default ***
func (*NullBigQuery) Start ¶
func (bq *NullBigQuery) Start()
func (*NullBigQuery) Stop ¶
func (bq *NullBigQuery) Stop()
func (*NullBigQuery) WriteEvent ¶
func (bq *NullBigQuery) WriteEvent(_ BigQueryEvent) error
type TestBigQuery ¶
type TestBigQuery struct {
clock.ClockConsumer
// contains filtered or unexported fields
}
func NewTestBigQuery ¶
func NewTestBigQuery(dataset string) *TestBigQuery
func (*TestBigQuery) Start ¶
func (bq *TestBigQuery) Start()
func (*TestBigQuery) Stop ¶
func (bq *TestBigQuery) Stop()
func (*TestBigQuery) WriteEvent ¶
func (bq *TestBigQuery) WriteEvent(e BigQueryEvent) error
type TestBigQueryMessage ¶
type TestBigQueryMessage struct {
*BigQueryMessage
Dataset string
}
Click to show internal directories.
Click to hide internal directories.