AgentSkillsCN

awsflow-emr

使用 awsflow 检查 AWS EMR 集群、步骤、实例、工作室、笔记本执行、发布标签、安全配置,以及托管扩展功能。所有命令均仅用于 Hadoop/Spark 集群的管理,且为只读操作。

SKILL.md
--- frontmatter
name: awsflow-emr
description: Inspect AWS EMR clusters, steps, instances, studios, notebook executions, release labels, security configurations, and managed scaling using awsflow. All read-only commands for Hadoop/Spark cluster management.

Awsflow EMR

Inspect EMR clusters, steps, studios, notebook executions, and related configurations. All commands are read-only.

When to Use This Skill

Use this skill when the user:

  • Asks about EMR clusters, Hadoop, or Spark
  • Wants to inspect cluster status, steps, or instances
  • Needs to view EMR studios or notebook executions
  • Asks about release labels, instance types, or security configurations
  • Wants to check auto-termination, managed scaling, or session credentials

Tool: EMRTool

Describe and list EMR clusters, steps, studios, and configurations. ALWAYS provide params object.

Commands

ListClusters

List EMR clusters with optional state filter.

json
{ "command": "ListClusters", "params": { "ClusterStates": ["RUNNING", "WAITING"] } }

Parameters:

ParameterTypeRequiredDescription
ClusterStatesarray of stringsNoFilter by states: STARTING, BOOTSTRAPPING, RUNNING, WAITING, TERMINATING, TERMINATED, TERMINATED_WITH_ERRORS
CreatedAfterstringNoISO date string filter
CreatedBeforestringNoISO date string filter
MarkerstringNoPagination marker

DescribeCluster

Get detailed information about a cluster.

json
{ "command": "DescribeCluster", "params": { "ClusterId": "j-1234567890ABC" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID

ListSteps

List steps in a cluster.

json
{ "command": "ListSteps", "params": { "ClusterId": "j-1234567890ABC", "StepStates": ["FAILED"] } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
StepStatesarray of stringsNoFilter by step states
MarkerstringNoPagination marker

DescribeStep

Get details of a specific step.

json
{ "command": "DescribeStep", "params": { "ClusterId": "j-1234567890ABC", "StepId": "s-ABC123" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
StepIdstringYesStep ID

ListInstances

List EC2 instances in a cluster.

json
{ "command": "ListInstances", "params": { "ClusterId": "j-1234567890ABC", "InstanceStates": ["RUNNING"] } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
InstanceFleetIdstringNoInstance fleet ID filter
InstanceGroupIdstringNoInstance group ID filter
InstanceStatesarray of stringsNoFilter by states

ListInstanceFleets

List instance fleets in a cluster.

json
{ "command": "ListInstanceFleets", "params": { "ClusterId": "j-1234567890ABC" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
MarkerstringNoPagination marker

ListInstanceGroups

List instance groups in a cluster.

json
{ "command": "ListInstanceGroups", "params": { "ClusterId": "j-1234567890ABC" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
MarkerstringNoPagination marker

ListBootstrapActions

List bootstrap actions for a cluster.

json
{ "command": "ListBootstrapActions", "params": { "ClusterId": "j-1234567890ABC" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
MarkerstringNoPagination marker

ListStudios

List EMR studios.

json
{ "command": "ListStudios", "params": {} }

Parameters:

ParameterTypeRequiredDescription
MarkerstringNoPagination marker

DescribeStudio

Get details of an EMR studio.

json
{ "command": "DescribeStudio", "params": { "StudioId": "es-ABC123" } }

Parameters:

ParameterTypeRequiredDescription
StudioIdstringYesStudio ID

ListNotebookExecutions

List notebook executions.

json
{ "command": "ListNotebookExecutions", "params": {} }

Parameters:

ParameterTypeRequiredDescription
CreatedAfterstringNoISO date filter
CreatedBeforestringNoISO date filter
NextTokenstringNoPagination token

DescribeNotebookExecution

Get details of a notebook execution.

json
{ "command": "DescribeNotebookExecution", "params": { "NotebookExecutionId": "ex-ABC123" } }

Parameters:

ParameterTypeRequiredDescription
NotebookExecutionIdstringYesNotebook execution ID

ListReleaseLabels

List available EMR release labels.

json
{ "command": "ListReleaseLabels", "params": {} }

Parameters:

ParameterTypeRequiredDescription
NextTokenstringNoPagination token
MaxResultsnumberNoMaximum results

DescribeReleaseLabel

Get details for a release label.

json
{ "command": "DescribeReleaseLabel", "params": { "ReleaseLabel": "emr-7.0.0" } }

Parameters:

ParameterTypeRequiredDescription
ReleaseLabelstringYesRelease label

ListSupportedInstanceTypes

List instance types supported for a release.

json
{ "command": "ListSupportedInstanceTypes", "params": { "ReleaseLabel": "emr-7.0.0" } }

Parameters:

ParameterTypeRequiredDescription
ReleaseLabelstringNoRelease label

DescribeSecurityConfiguration

Get a security configuration.

json
{ "command": "DescribeSecurityConfiguration", "params": { "SecurityConfigurationName": "my-config" } }

Parameters:

ParameterTypeRequiredDescription
SecurityConfigurationNamestringYesSecurity configuration name

ListSecurityConfigurations

List security configurations.

json
{ "command": "ListSecurityConfigurations", "params": {} }

Parameters:

ParameterTypeRequiredDescription
MarkerstringNoPagination marker

GetAutoTerminationPolicy

Get auto-termination policy for a cluster.

json
{ "command": "GetAutoTerminationPolicy", "params": { "ClusterId": "j-1234567890ABC" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID

GetBlockPublicAccessConfiguration

Get block public access configuration.

json
{ "command": "GetBlockPublicAccessConfiguration", "params": {} }

GetManagedScalingPolicy

Get managed scaling policy for a cluster.

json
{ "command": "GetManagedScalingPolicy", "params": { "ClusterId": "j-1234567890ABC" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID

GetClusterSessionCredentials

Get session credentials for a cluster.

json
{ "command": "GetClusterSessionCredentials", "params": { "ClusterId": "j-1234567890ABC", "CredentialType": "UsernamePassword" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
CredentialTypestringYesCredential type
ExecutionRoleArnstringNoExecution role ARN
DurationSecondsnumberNoLifetime in seconds

GetStudioSessionMapping

Get studio session mapping.

json
{ "command": "GetStudioSessionMapping", "params": { "StudioId": "es-ABC123", "IdentityType": "USER", "IdentityId": "user-123" } }

Parameters:

ParameterTypeRequiredDescription
StudioIdstringYesStudio ID
IdentityTypestringYesUSER or GROUP
IdentityIdstringYesIdentity ID

ListStudioSessionMappings

List studio session mappings.

json
{ "command": "ListStudioSessionMappings", "params": { "StudioId": "es-ABC123" } }

Parameters:

ParameterTypeRequiredDescription
StudioIdstringYesStudio ID
IdentityTypestringNoUSER or GROUP

DescribeJobFlows

Describe job flows (legacy).

json
{ "command": "DescribeJobFlows", "params": { "JobFlowIds": ["j-ABC123"] } }

Parameters:

ParameterTypeRequiredDescription
JobFlowIdsarray of stringsNoJob flow IDs
CreatedAfterstringNoISO date filter
CreatedBeforestringNoISO date filter

DescribePersistentAppUI / GetOnClusterAppUIPresignedURL / GetPersistentAppUIPresignedURL

Application UI commands for Spark History Server, etc.

json
{ "command": "GetOnClusterAppUIPresignedURL", "params": { "ClusterId": "j-ABC123", "ApplicationId": "app-123" } }

Parameters:

ParameterTypeRequiredDescription
ClusterIdstringYesEMR cluster ID
ApplicationIdstringYesApplication ID

Related Services

  • EMR → S3: Clusters use S3 for input/output data (EMRFS), logs, and scripts. Use S3Tool to inspect data
  • EMR → EC2: Clusters run on EC2 instances. Use EC2Tool to inspect the underlying instances
  • EMR → CloudWatch: Cluster metrics and logs in CloudWatch. Use CloudWatchLogTool to read logs
  • EMR → IAM: Clusters use EC2 instance profiles and service roles. Use IAMTool to inspect
  • EMR → Glue Data Catalog: EMR can use Glue Data Catalog as Hive metastore. Use GlueTool to query the catalog
  • EMR → CloudFormation: EMR clusters managed by CloudFormation stacks