public static void InvokeDescribeJobFlows()
        {
            NameValueCollection appConfig = ConfigurationManager.AppSettings;

            // Print the number of Amazon SimpleDB domains.
            IAmazonElasticMapReduce emr = AWSClientFactory.CreateAmazonElasticMapReduceClient(RegionEndpoint.USWest2);

            try
            {
                DescribeJobFlowsResponse emrResponse = emr.DescribeJobFlows(new DescribeJobFlowsRequest());

                int numFlows = 0;
                numFlows = emrResponse.JobFlows.Count;
                Console.WriteLine("You have " + numFlows + " Amazon Elastic MapReduce job flow(s).");
            }
            catch (AmazonElasticMapReduceException ex)
            {
                if (ex.ErrorCode.Equals("OptInRequired"))
                {
                    Console.WriteLine("You are not signed for Amazon Elastic MapReduce.");
                    Console.WriteLine("You can sign up at http://aws.amazon.com/elasticmapreduce.");
                }
                else
                {
                    Console.WriteLine("Caught Exception: " + ex.Message);
                    Console.WriteLine("Response Status Code: " + ex.StatusCode);
                    Console.WriteLine("Error Code: " + ex.ErrorCode);
                    Console.WriteLine("Error Type: " + ex.ErrorType);
                    Console.WriteLine("Request ID: " + ex.RequestId);
                }
            }
            Console.WriteLine();
        }
Exemplo n.º 2
0
        private OperationResult EstablishClient(AddonManifest manifest, EMRDeveloperOptions devOptions, out IAmazonElasticMapReduce client)
        {
            OperationResult result;

            bool requireCreds;
            var  accessKey       = manifest.ProvisioningUsername;
            var  secretAccessKey = manifest.ProvisioningPassword;
            var  prop            = manifest.Properties.First(p => p.Key.Equals("requireDevCredentials", StringComparison.InvariantCultureIgnoreCase));

            //jobid = null;

            if (bool.TryParse(prop.Value, out requireCreds) && requireCreds)
            {
                if (!ValidateDevCreds(devOptions))
                {
                    client = null;
                    result = new OperationResult()
                    {
                        IsSuccess      = false,
                        EndUserMessage = "The add on requires that developer credentials are specified but none were provided."
                    };

                    return(result);
                }

                accessKey       = devOptions.AccessKey;
                secretAccessKey = devOptions.SecretAccessKey;
            }

            AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretAccessKey);

            client = AWSClientFactory.CreateAmazonElasticMapReduceClient(credentials, RegionEndpoint.USEast1);

            //jobid = job.JobFlowId;

            result = new OperationResult()
            {
                IsSuccess = true
            };

            return(result);
        }