Skip to content
This repository was archived by the owner on Mar 7, 2020. It is now read-only.

Commit 1e47721

Browse files
bigsnarfdudealexanderdean
authored andcommitted
Fixed IAM roles
1 parent ad26df2 commit 1e47721

File tree

5 files changed

+40
-13
lines changed

5 files changed

+40
-13
lines changed

ProcessKinesisRecords.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
/*
2+
* Copyright (c) 2015 Snowplow Analytics Ltd. All rights reserved.
3+
*
4+
* This program is licensed to you under the Apache License Version 2.0,
5+
* and you may not use this file except in compliance with the Apache License Version 2.0.
6+
* You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
7+
*
8+
* Unless required by applicable law or agreed to in writing,
9+
* software distributed under the Apache License Version 2.0 is distributed on an
10+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
* See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
12+
*/
13+
114
console.log('Loading ProcessKinesisRecordsDynamoDB function');
215

316
var aws = require('aws-sdk');
@@ -33,8 +46,8 @@ exports.kinesisHandler = function(records, context) {
3346
});
3447
});
3548

36-
3749
///////////////////////////////helper functions ////////////////////////////////
50+
3851
// update item to DynamoDB
3952
function updateDynamoDB (params, callback) {
4053
table.updateItem(params, function (err, data) {
@@ -44,7 +57,6 @@ exports.kinesisHandler = function(records, context) {
4457
});
4558
}
4659

47-
4860
// creating records objects to sort
4961
function aggregateData(payload) {
5062
var datum = JSON.parse(payload);
@@ -78,7 +90,6 @@ exports.kinesisHandler = function(records, context) {
7890
return params;
7991
}
8092

81-
8293
// manual check of UTC build zero adder
8394
function pad(number) {
8495
var r = String(number);
@@ -88,7 +99,6 @@ exports.kinesisHandler = function(records, context) {
8899
return r;
89100
}
90101

91-
92102
// downsample function for creating metadata
93103
function downsample(dateObject) {
94104
return dateObject.getUTCFullYear()
@@ -101,13 +111,10 @@ exports.kinesisHandler = function(records, context) {
101111
context.done();
102112
};
103113

104-
105114
// main function
106115
exports.handler = function(event, context) {
107116
var record = event.Records[0];
108117
if (record.kinesis) {
109118
exports.kinesisHandler(event.Records, context);
110119
}
111120
};
112-
113-

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ limitations under the License.
209209
[vagrant-install]: http://docs.vagrantup.com/v2/installation/index.html
210210
[virtualbox-install]: https://www.virtualbox.org/wiki/Downloads
211211
212-
[blog-post]: http://snowplowanalytics.com/blog/2015/07/10/aws-lambda-nodejs-example-project-0.1.0-released/
212+
[blog-post]: http://snowplowanalytics.com/blog/2015/07/11/aws-lambda-nodejs-example-project-0.1.0-released/
213213
[020-milestone]: https://github.com/snowplow/aws-lambda-nodejs-example-project/milestones/Version%200.2.0
214214
[dynamodb-table-image]: /docs/dynamodb-table-image.png?raw=true
215215

tasks/deployLambda.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,19 @@ module.exports = function (grunt) {
3939
if (err) {
4040
console.log(err, err.stack);
4141
} else {
42-
DEFAULTS['arn'] = data.Roles[0].Arn;
43-
console.log(DEFAULTS.arn);
44-
callback(err);
42+
DEFAULTS['arnRoles'] = data.Roles;
43+
for (var i = 0; i < DEFAULTS.arnRoles.length; i++) {
44+
var lambdaRole = data.Roles[i].Arn;
45+
if (lambdaRole.indexOf("LambdaExecRole") > 38 && lambdaRole.indexOf("LambdaExecRole") < 48) {
46+
DEFAULTS['arn'] = data.Roles[i].Arn;
47+
console.log("Found");
48+
console.log(DEFAULTS.arn);
49+
} else {
50+
console.log("Looking for ... kinesisDynamo-LambdaExecRole");
51+
}
52+
}
4553
}
54+
callback(err);
4655
});
4756
}
4857

tasks/iam.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,18 @@ module.exports = function (grunt) {
3737
if (err) {
3838
console.log(err, err.stack);
3939
} else {
40-
opts.params.RoleName = data.Roles[0].RoleName;
40+
opts.params['arnRoles'] = data.Roles;
41+
for (var i = 0; i < opts.params.arnRoles.length; i++) {
42+
//opts.params.RoleName = data.Roles[0].RoleName;
43+
var lambdaRole = data.Roles[i].RoleName;
44+
if (lambdaRole.indexOf("LambdaExecRole") > 0) {
45+
opts.params.RoleName = data.Roles[i].RoleName;
46+
console.log("Found");
47+
console.log(opts.params.RoleName);
48+
} else {
49+
console.log("Looking for ... kinesisDynamo-LambdaExecRole");
50+
}
51+
}
4152
callback(err);
4253
}
4354
});

tasks/packaging.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module.exports = function (grunt) {
2424
var opts = this.options(DEFAULTS);
2525
var done = this.async();
2626
var pkg = grunt.file.readJSON(path.resolve(DEFAULTS.package_folder + '/package.json'));
27-
var dir = { path: './temp/' } //new tmp.Dir();
27+
var dir = { path: './dist/' };
2828
var now = new Date();
2929
var time_string = 'latest';
3030
var file_version = pkg.version.replace(/\./g, '-');

0 commit comments

Comments
 (0)