in index.js [350:389]
function buildDeliveryMap(streamName, serviceName, context, event, callback) {
if (debug) {
console.log('Building delivery stream mapping');
}
if (deliveryStreamMapping[streamName]) {
// A delivery stream has already been specified in configuration
// This could be indicative of debug usage.
exports.verifyDeliveryStreamMapping(streamName, false, context, event, callback);
} else if (serviceName === DDB_SERVICE_NAME) {
// dynamodb streams need the firehose delivery stream to match
// the table name
deliveryStreamMapping[streamName] = streamName;
exports.verifyDeliveryStreamMapping(streamName, USE_DEFAULT_DELIVERY_STREAMS, context, event, callback);
} else {
// get the delivery stream name from Kinesis tag
exports.kinesis.listTagsForStream({
StreamName: streamName
}, function (err, data) {
shouldFailbackToDefaultDeliveryStream = USE_DEFAULT_DELIVERY_STREAMS;
if (err) {
exports.onCompletion(context, event, err, ERROR, "Unable to List Tags for Stream");
} else {
// grab the tag value if it's the foreward_to_firehose
// name item
data.Tags.map(function (item) {
if (item.Key === FORWARD_TO_FIREHOSE_STREAM) {
/*
* Disable fallback to a default delivery stream as a
* FORWARD_TO_FIREHOSE_STREAM has been specifically set.
*/
shouldFailbackToDefaultDeliveryStream = false;
deliveryStreamMapping[streamName] = item.Value;
}
});
exports.verifyDeliveryStreamMapping(streamName, shouldFailbackToDefaultDeliveryStream, context, event, callback);
}
});
}
}