Documentation
¶
Index ¶
- Constants
- type Column
- type Database
- type ExecuteAsyncQueryInput
- type ExecuteAsyncQueryNotifyInput
- type ExecuteAsyncQueryNotifyOutput
- type ExecuteAsyncQueryOutput
- type ExecuteQueryInput
- type ExecuteQueryOutput
- type GetDatabasesInput
- type GetDatabasesOutput
- type GetQueryResultsInput
- type GetQueryResultsLinkInput
- type GetQueryResultsLinkOutput
- type GetQueryResultsOutput
- type GetQueryStatusInput
- type GetQueryStatusOutput
- type GetTablesDetailInput
- type GetTablesDetailOutput
- type GetTablesInput
- type GetTablesOutput
- type InvokeNotifyLambdaInput
- type InvokeNotifyLambdaOutput
- type LambdaInput
- type LambdaInvoke
- type NameAndDescription
- type NotifyAppSyncInput
- type NotifyAppSyncOutput
- type NotifyInput
- type OptionalName
- type Pagination
- type QueryInfo
- type QueryResultsPage
- type QueryResultsStats
- type QueryStatus
- type Row
- type SQLQuery
- type StopQueryInput
- type StopQueryOutput
- type TableColumn
- type TableDescription
- type TableDetail
- type TablesDetail
- type UserPassThruData
- type Workflow
Constants ¶
View Source
const ( QuerySucceeded = "succeeded" QueryFailed = "failed" QueryRunning = "running" QueryCancelled = "cancelled" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct {
DatabaseName string `json:"databaseName" validate:"required"`
}
type ExecuteAsyncQueryInput ¶
type ExecuteAsyncQueryNotifyInput ¶
type ExecuteAsyncQueryNotifyInput struct {
ExecuteAsyncQueryInput
LambdaInvoke
UserPassThruData
DelaySeconds int `json:"delaySeconds"` // wait this long before starting workflow (default 0)
}
type ExecuteAsyncQueryNotifyOutput ¶
type ExecuteAsyncQueryNotifyOutput struct {
Workflow
}
type ExecuteAsyncQueryOutput ¶
type ExecuteAsyncQueryOutput struct {
QueryStatus
QueryInfo
}
type ExecuteQueryOutput ¶
type ExecuteQueryOutput = GetQueryResultsOutput // call GetQueryResults() to page through results
type GetDatabasesInput ¶
type GetDatabasesInput struct {
OptionalName // if nil get all databases
}
type GetDatabasesOutput ¶
type GetDatabasesOutput struct {
Databases []*NameAndDescription `json:"databases,omitempty"`
}
NOTE: we will assume this is small an not paginate
type GetQueryResultsInput ¶
type GetQueryResultsInput struct {
QueryInfo
Pagination
PageSize *int64 `json:"pageSize" validate:"omitempty,gt=1,lt=1000"` // only return this many rows per call
}
type GetQueryResultsLinkInput ¶
type GetQueryResultsLinkInput struct {
QueryInfo
}
type GetQueryResultsLinkOutput ¶
type GetQueryResultsLinkOutput struct {
QueryStatus
PresignedLink string `json:"presignedLink"` // presigned s3 link to results
}
type GetQueryResultsOutput ¶
type GetQueryResultsOutput struct {
GetQueryStatusOutput
ColumnInfo []*Column `json:"columnInfo" validate:"required"`
ResultsPage QueryResultsPage `json:"resultsPage" validate:"required"`
}
type GetQueryStatusInput ¶
type GetQueryStatusInput = QueryInfo
type GetQueryStatusOutput ¶
type GetQueryStatusOutput struct {
QueryStatus
SQLQuery
Stats *QueryResultsStats `json:"stats,omitempty"` // present only on successful queries
}
type GetTablesDetailInput ¶
type GetTablesDetailOutput ¶
type GetTablesDetailOutput struct {
TablesDetail
}
NOTE: we will assume this is small an not paginate
type GetTablesInput ¶
type GetTablesOutput ¶
type GetTablesOutput struct {
TablesDetail
}
NOTE: we will assume this is small an not paginate
type InvokeNotifyLambdaInput ¶
type InvokeNotifyLambdaInput struct {
LambdaInvoke
QueryInfo
Workflow
UserPassThruData
}
type InvokeNotifyLambdaOutput ¶
type InvokeNotifyLambdaOutput = InvokeNotifyLambdaInput // so input can be confirmed
type LambdaInput ¶
type LambdaInput struct {
// run a query, returning immediately with an id for the running query
ExecuteAsyncQuery *ExecuteAsyncQueryInput `json:"executeAsyncQuery"`
// run a query, returning immediately with an id for the step function running the query (will invoke lambda callback when done)
ExecuteAsyncQueryNotify *ExecuteAsyncQueryNotifyInput `json:"executeAsyncQueryNotify"`
// run a query, waiting for results
ExecuteQuery *ExecuteQueryInput `json:"executeQuery"`
// list databases
GetDatabases *GetDatabasesInput `json:"getDatabases"`
// given a query id, return paged results
GetQueryResults *GetQueryResultsInput `json:"getQueryResults"`
// given a query id, return a presigned s3 link to the results
GetQueryResultsLink *GetQueryResultsLinkInput `json:"getQueryResultsLink"`
// given a query id, return the status of the query
GetQueryStatus *GetQueryStatusInput `json:"getQueryStatus"`
// given a database, list tables
GetTables *GetTablesInput `json:"getTables"`
// given a database and list of tables, return tables
GetTablesDetail *GetTablesDetailInput `json:"getTablesDetail"`
// given a lambda and method, execute callback for step function
InvokeNotifyLambda *InvokeNotifyLambdaInput `json:"invokeNotifyLambda"`
// used as a callback lambda, will notify appsync that a UI query is complete
NotifyAppSync *NotifyAppSyncInput `json:"notifyAppSync"`
// given a query id, cancel query
StopQuery *StopQueryInput `json:"stopQuery"`
}
LambdaInput is the collection of all possible args to the Lambda function.
type LambdaInvoke ¶
type NameAndDescription ¶
type NotifyAppSyncInput ¶
type NotifyAppSyncInput struct {
NotifyInput
}
type NotifyAppSyncOutput ¶
type NotifyAppSyncOutput struct {
StatusCode int `json:"statusCode" validate:"required"` // the http status returned from POSTing callback to appsync
}
type NotifyInput ¶
type NotifyInput struct {
GetQueryStatusInput
ExecuteAsyncQueryNotifyOutput
UserPassThruData
}
type OptionalName ¶
type OptionalName struct {
Name *string `json:"name,omitempty"`
}
type Pagination ¶
type Pagination struct {
PaginationToken *string `json:"paginationToken,omitempty"`
}
type QueryResultsPage ¶
type QueryResultsPage struct {
Pagination
NumRows int `json:"numRows" validate:"required"` // number of rows in page of results, len(Rows)
Rows []*Row `json:"rows" validate:"required"`
}
type QueryResultsStats ¶
type QueryStatus ¶
type StopQueryInput ¶
type StopQueryInput = QueryInfo
type StopQueryOutput ¶
type StopQueryOutput = GetQueryStatusOutput
type TableColumn ¶
type TableColumn struct {
NameAndDescription
Type string `json:"type" validate:"required"`
}
type TableDescription ¶
type TableDescription struct {
Database
NameAndDescription
}
type TableDetail ¶
type TableDetail struct {
TableDescription
Columns []*TableColumn `json:"columns"`
}
type TablesDetail ¶
type TablesDetail struct {
Tables []*TableDetail `json:"tables"`
}
type UserPassThruData ¶
type UserPassThruData struct {
UserData string `json:"userData" validate:"required,gt=0"` // token passed though to notifications (usually the userid)
}
Click to show internal directories.
Click to hide internal directories.