rotwar
rotwar

Reputation: 97

List all "Active" EMR cluster using Boto3

I'm trying to list all active clusters on EMR using boto3 but my code doesn't seem to be working it just returns null.

Im trying to do this using boto3

1) list all Active EMR clusters

aws emr list-clusters --active

2) List only Cluster id's and Names of the Active one's cluster names

aws emr list-clusters --active --query "Clusters[*].{Name:Name}" --output text

Cluster id's

aws emr list-clusters --active --query "Clusters[*].{ClusterId:Id}" --output text

But i'm blocked in the starting stage of using boto3

import boto3
client = boto3.client("emr")
response = client.list_clusters(
    ClusterStates=[
        'STARTING',
    ],
)

print response

Any suggestions how can i convert those CLI commands to boto3

Thanks

Upvotes: 3

Views: 3859

Answers (2)

slightly updated on @shifu.zheng's answer:

import boto3
client = boto3.client("emr",region_name = "us-west-1", aws_access_key_id = "sdufashdifos123121", aws_secret_access_key ="sjdfnsaldfoasd1231312")
response = client.list_clusters(ClusterStates=['STARTING', 'BOOTSTRAPPING', 'RUNNING', 'WAITING', 'TERMINATING'])
for cluster in response['Clusters']:
print(cluster['Name'])
print(cluster['Id'])

You need to have the required parameters in the boto3.client object.

Upvotes: 0

shifu.zheng
shifu.zheng

Reputation: 711

The following codes can print the active emr name and id:

import boto3
client = boto3.client("emr")
response = client.list_clusters(
    ClusterStates=[
        'STARTING', 'BOOTSTRAPPING', 'RUNNING', 'WAITING', 'TERMINATING'
    ]
)
for cluster in response['Clusters']:
    print(cluster['Name'])
    print(cluster['Id'])

Upvotes: 4

Related Questions