Ejemplo n.º 1
0
def send_lambda_request(fn, tests, encounter_id, player):

    awslambda = boto.connect_awslambda(aws_access_key_id=AWS_ACCESS_KEY,
                                       aws_secret_access_key=AWS_SECRET_KEY)

    player_fn = fn

    battle_tests = tests

    battle_test_string = "[" + ",".join(battle_tests) + "]"

    data = {
        "fn": base64.b64encode(player_fn),
        "tests": base64.b64encode(battle_test_string),
        "encounter_id": encounter_id,
        "player": player
    }

    awslambda.invoke_async("BattleJSTesting", json.dumps(data))
def configure_lambda(stream):
    """
    Configure Lambda function to use Kinesis
    """
    print("Configured AWS Lambda service")
    IAM_ROLE_ARN = get_iam_role_arn()
    aws_lambda = boto.connect_awslambda()
    event_source = kinesis_stream(stream)
    response_add_event_source = aws_lambda.add_event_source(event_source,
                                                            FUNCTION_NAME,
                                                            IAM_ROLE_ARN,
                                                            batch_size=100,
                                                            parameters=None)
    event_source_id = response_add_event_source['UUID']

    while response_add_event_source['IsActive'] != 'true':
        print('Waiting for the event source to become active')
        sleep(5)
        response_add_event_source = aws_lambda.get_event_source(event_source_id)

    print('Added Kinesis as event source for Lambda function')
import os
from time import sleep
from zipfile import ZipFile

import boto
from boto.kinesis.exceptions import ResourceInUseException

import config

# To enable logging:
# boto.set_stream_logger('boto')

# Initialize the AWS clients.
sns = boto.connect_sns()
kinesis = boto.connect_kinesis()
aws_lambda = boto.connect_awslambda()
ml = boto.connect_machinelearning()

lambda_execution_policy = open('lambdaExecutionPolicyTemplate.json').read().format(**config.AWS)

aws_account_id = config.AWS["awsAccountId"]
region = config.AWS["region"]
kinesis_stream = config.AWS["kinesisStream"]
sns_topic = config.AWS["snsTopic"]

lambda_function_name = config.AWS["lambdaFunctionName"]
lambda_execution_role = config.AWS["lambdaExecutionRole"]
lambda_trust_policy = '{"Statement":[{"Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]}'


def role_exists(iam, role_name):
Ejemplo n.º 4
0
import os
from time import sleep
from zipfile import ZipFile

# To enable logging:
# boto.set_stream_logger('boto')


def read_file_as_string_then_format(file_name, args):
    with open(file_name) as file_handle:
        return file_handle.read().format(**args)

# Initialize the AWS clients.
sns = boto.connect_sns()
kinesis = boto.connect_kinesis()
aws_lambda = boto.connect_awslambda()
ml = boto.connect_machinelearning()

# Load the config file.
with open('create-lambda-function.config') as config:
    config = json.load(config)

lambda_execution_policy = read_file_as_string_then_format('lambdaExecutionPolicyTemplate.json', config)
lambda_invocation_policy = read_file_as_string_then_format('lambdaInvocationPolicyTemplate.json', config)

aws_account_id = config["awsAccountId"]

region = config["region"]

kinesis_stream = config["kinesisStream"]
sns_topic = config["snsTopic"]
import sys
sys.path.append(".")  # Adds higher directory to python modules path.

import base64

import boto
import settings

iam_client = boto.connect_iam(
    aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
    aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY)
lambda_client = boto.connect_awslambda(
    aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
    aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY)
env_variables = dict()  # Environment Variables

with open('data/lambda.zip', 'rb') as f:
    zipped_code = base64.b64encode(f.read())

role = iam_client.get_role('lambda_basic_execution')

lambda_client.upload_function(
    'stee_eye_prepare_json', zipped_code, 'python3.6',
    role['get_role_response']['get_role_result']['role']['arn'],
    'main.handler', 'event')
Ejemplo n.º 6
0
 def setUp(self):
     self.awslambda = boto.connect_awslambda()