1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
// Package mobileanalytics provides a client for Amazon Mobile Analytics.
package mobileanalytics
import (
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/restjson"
)
const opPutEvents = "PutEvents"
// PutEventsRequest generates a request for the PutEvents operation.
func (c *MobileAnalytics) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
op := &request.Operation{
Name: opPutEvents,
HTTPMethod: "POST",
HTTPPath: "/2014-06-05/events",
}
if input == nil {
input = &PutEventsInput{}
}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
output = &PutEventsOutput{}
req.Data = output
return
}
// The PutEvents operation records one or more events. You can have up to 1,500
// unique custom events per app, any combination of up to 40 attributes and
// metrics per custom event, and any number of attribute or metric values.
func (c *MobileAnalytics) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
req, out := c.PutEventsRequest(input)
err := req.Send()
return out, err
}
// A JSON object representing a batch of unique event occurrences in your app.
type Event struct {
_ struct{} `type:"structure"`
// A collection of key-value pairs that give additional context to the event.
// The key-value pairs are specified by the developer.
//
// This collection can be empty or the attribute object can be omitted.
Attributes map[string]*string `locationName:"attributes" type:"map"`
// A name signifying an event that occurred in your app. This is used for grouping
// and aggregating like events together for reporting purposes.
EventType *string `locationName:"eventType" min:"1" type:"string" required:"true"`
// A collection of key-value pairs that gives additional, measurable context
// to the event. The key-value pairs are specified by the developer.
//
// This collection can be empty or the attribute object can be omitted.
Metrics map[string]*float64 `locationName:"metrics" type:"map"`
// The session the event occured within.
Session *Session `locationName:"session" type:"structure"`
// The time the event occurred in ISO 8601 standard date time format. For example,
// 2014-06-30T19:07:47.885Z
Timestamp *string `locationName:"timestamp" type:"string" required:"true"`
// The version of the event.
Version *string `locationName:"version" min:"1" type:"string"`
}
// String returns the string representation
func (s Event) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Event) GoString() string {
return s.String()
}
// A container for the data needed for a PutEvent operation
type PutEventsInput struct {
_ struct{} `type:"structure"`
// The client context including the client ID, app title, app version and package
// name.
ClientContext *string `location:"header" locationName:"x-amz-Client-Context" type:"string" required:"true"`
// The encoding used for the client context.
ClientContextEncoding *string `location:"header" locationName:"x-amz-Client-Context-Encoding" type:"string"`
// An array of Event JSON objects
Events []*Event `locationName:"events" type:"list" required:"true"`
}
// String returns the string representation
func (s PutEventsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutEventsInput) GoString() string {
return s.String()
}
type PutEventsOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s PutEventsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutEventsOutput) GoString() string {
return s.String()
}
// Describes the session. Session information is required on ALL events.
type Session struct {
_ struct{} `type:"structure"`
// The duration of the session.
Duration *int64 `locationName:"duration" type:"long"`
// A unique identifier for the session
Id *string `locationName:"id" min:"1" type:"string"`
// The time the event started in ISO 8601 standard date time format. For example,
// 2014-06-30T19:07:47.885Z
StartTimestamp *string `locationName:"startTimestamp" type:"string"`
// The time the event terminated in ISO 8601 standard date time format. For
// example, 2014-06-30T19:07:47.885Z
StopTimestamp *string `locationName:"stopTimestamp" type:"string"`
}
// String returns the string representation
func (s Session) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Session) GoString() string {
return s.String()
}
|