Module: LambdaClient

Defined in:
lib/drools_lambda_client/lambda_client.rb

Class Method Summary collapse

Class Method Details

.get_lambda_clientObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/drools_lambda_client/lambda_client.rb', line 12

def get_lambda_client
  access_id,secret_key = ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']

  if access_id.nil? || secret_key.nil?
    raise ArgumentError.new("AWS Access ID and secret token not set. Set using ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']")
  end

  credentials = Aws::Credentials.new(access_id,secret_key)
  region = ENV['AWS_REGION'] || 'us-east-1'

  lambda_client = Aws::Lambda::Client.new(region: region, credentials: credentials)

  return lambda_client
end

.invoke(function, payload) ⇒ Object



6
7
8
9
10
# File 'lib/drools_lambda_client/lambda_client.rb', line 6

def invoke(function, payload)
  @client ||= get_lambda_client
  response = @client.invoke({ function_name: function, payload: payload})
  return response
end