startKinesisAnalyticsApp()

in source/resources/solution-helper/lib/kinesis-helper.js [41:85]


  startKinesisAnalyticsApp(applicationName) {
    return new Promise((resolve, reject) => {
      let params = {
        ApplicationName: applicationName
      };
      
      console.log(`Attempting to start Kinesis Analytics App: ${JSON.stringify(params)}`);
      let kda = new AWS.KinesisAnalytics(this.config);
      
      kda.describeApplication(params, function(err, response) {
        if (err) {
          console.log(JSON.stringify(err));
          reject(err);
        } else {
          if (response == null) {
            console.log('The Kinesis Analytics application could not be found');
            reject(err);
          }
          if (response.ApplicationDetail.ApplicationStatus === 'READY') {
            let params = {
              ApplicationName: applicationName,
              InputConfigurations: [
                {
                  'Id': '1.1',
                  'InputStartingPositionConfiguration': {
                    'InputStartingPosition': 'NOW'
                  }
                }
              ]
            };
            console.log('Starting Kinesis Analytics Application');
            kda.startApplication(params, function(err, response) {
              if (err) {
                console.log(JSON.stringify(err));
                reject(err);
              } else {
                console.log('Started Kinesis Analytics Application');
                resolve(response);
              }
            });
          }
        }
      });
    });
  }