Documentation ¶
Overview ¶
Package util has various helper functions used by components of ratchet.
Index ¶
- func CSVProcess(params *CSVParameters, d data.JSON, outputChan chan data.JSON, ...)
- func CSVString(v interface{}) string
- func DeleteS3Objects(client *s3.S3, bucket string, objKeys []string) (*s3.DeleteObjectsOutput, error)
- func ExecuteSQLQuery(db *sql.DB, query string) error
- func GetDataFromSQLQuery(db *sql.DB, query string, batchSize int, structDest interface{}) (chan data.JSON, error)
- func GetS3Object(client *s3.S3, bucket, objKey string) (*s3.GetObjectOutput, error)
- func KillPipelineIfErr(err error, killChan chan error)
- func ListS3Objects(client *s3.S3, bucket, keyPrefix string) ([]string, error)
- func SQLInsertData(db *sql.DB, d data.JSON, tableName string, onDupKeyUpdate bool, ...) error
- func SftpClient(server string, username string, authMethod []ssh.AuthMethod, ...) (*sftp.Client, error)
- func SftpKeyAuth(privateKeyPath string) (auth ssh.AuthMethod, err error)
- func WriteS3Object(data []string, config *aws.Config, bucket string, key string, ...) (string, error)
- type CSVParameters
- type CSVWriter
- type SftpParameters
- type SftpPath
- type Timer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CSVProcess ¶
func DeleteS3Objects ¶
func DeleteS3Objects(client *s3.S3, bucket string, objKeys []string) (*s3.DeleteObjectsOutput, error)
DeleteS3Objects deletes the objects specified by the given object keys
func GetDataFromSQLQuery ¶
func GetDataFromSQLQuery(db *sql.DB, query string, batchSize int, structDest interface{}) (chan data.JSON, error)
GetDataFromSQLQuery is a util function that, given a properly intialized sql.DB and a valid SQL query, will handle executing the query and getting back data.JSON objects. This function is asynch, and data.JSON should be received on the return data channel. If there was a problem setting up the query, then an error will also be returned immediately. It is also possible for errors to occur during execution as data is retrieved from the query. If this happens, the object returned will be a JSON object in the form of {"Error": "description"}.
func GetS3Object ¶
GetS3Object returns the object output for the given object key
func KillPipelineIfErr ¶
KillPipelineIfErr is an error-checking helper.
func ListS3Objects ¶
ListS3Objects returns all object keys matching the given prefix. Note that delimiter is set to "/". See http://docs.aws.amazon.com/AmazonS3/latest/dev/ListingKeysHierarchy.html
func SQLInsertData ¶
func SQLInsertData(db *sql.DB, d data.JSON, tableName string, onDupKeyUpdate bool, onDupKeyFields []string, batchSize int) error
SQLInsertData abstracts building and executing a SQL INSERT statement for the given Data object.
Note that the Data must be a valid JSON object (or an array of valid objects all with the same keys), where the keys are column names and the the values are SQL values to be inserted into those columns.
func SftpClient ¶
func SftpClient(server string, username string, authMethod []ssh.AuthMethod, opts ...func(*sftp.Client) error) (*sftp.Client, error)
Set up and return the sftp client
func SftpKeyAuth ¶
func SftpKeyAuth(privateKeyPath string) (auth ssh.AuthMethod, err error)
Generate an ssh.AuthMethod given the path of a private key
Types ¶
type CSVParameters ¶
type CSVWriter ¶
type CSVWriter struct { Comma rune UseCRLF bool AlwaysEncapsulate bool QuoteEscape string // contains filtered or unexported fields }
func NewCSVWriter ¶
func NewCSVWriter() *CSVWriter
type SftpParameters ¶
type SftpParameters struct { Server string Username string Path string AuthMethods []ssh.AuthMethod }
type Timer ¶
type Timer struct {
// contains filtered or unexported fields
}
Timer is a basic mechanism for measuring execution time.
func StartTimer ¶
func StartTimer() (t *Timer)
StartTimer returns a new Timer that's already "started".
func (*Timer) Duration ¶
Duration returns either the total executino duration (if Timer stopped) or the duration until time.Now() if timer is still running.