12345678_0001
实际上,遇到同样的问题,文档中描述了一种方法。对我来说,这也不简单,因为措辞不同。似乎“运行作业流”基本上等于创建集群并向其添加步骤。所以你想要的是在这里找到的RunJobFlow函数:https://docs.aws.amazon.com/sdk-for-go/api/service/emr/EMR.html#RunJobFlow-instance_method因此,一个无需步骤即可创建集群的简单代码示例如下(确保您配置了正确的凭据):package mainimport ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/emr")func main() { sess := session.New(&aws.Config{Region: aws.String("eu-west-1")}) svc := emr.New(sess) params := &emr.RunJobFlowInput{ Instances: &emr.JobFlowInstancesConfig{ // Required Ec2KeyName: aws.String("keyname"), HadoopVersion: aws.String("2.7.2"), InstanceCount: aws.Int64(1), KeepJobFlowAliveWhenNoSteps: aws.Bool(true), MasterInstanceType: aws.String("m1.medium"), Placement: &emr.PlacementType{ AvailabilityZone: aws.String("eu-west-1a"), // Required }, TerminationProtected: aws.Bool(true), }, Name: aws.String("Go Test Cluster"), // Required Applications: []*emr.Application{ { // Required Name: aws.String("Ganglia"), }, { Name: aws.String("Spark"), }, // More values... }, JobFlowRole: aws.String("EMR_EC2_DefaultRole"), LogUri: aws.String("s3://aws-logs-0000000000-eu-west-1/elasticmapreduce/"), ReleaseLabel: aws.String("emr-4.6.0"), ServiceRole: aws.String("EMR_DefaultRole"), VisibleToAllUsers: aws.Bool(true), } resp, err := svc.RunJobFlow(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp)}