我试着用go列出emr集群。
这是我有的返回空白的代码。我在python中做了“同样的”,得到了正确的结果。
running := "RUNNING"
waiting := "WAITING"
emr_states := []*string {&running, &waiting}
var abc emr.ListClustersInput
abc.SetClusterStates(emr_states)
sess := session.Must(session.NewSession())
svc := emr.New(sess)
list_clusters_output, err := svc.ListClusters(&abc)
_ = err
println(fmt.Sprintf("type of list clusters output is %s", reflect.TypeOf(list_clusters_output)))
println(fmt.Sprintf("type of *list clusters output is %s", reflect.TypeOf(*list_clusters_output)))
list_clusters_output_dereffed := *list_clusters_output
println(list_clusters_output_dereffed.String())我得到的输出是
type of list clusters output is *emr.ListClustersOutput
type of *list clusters output is emr.ListClustersOutput
{
}有一个正在运行的集群,我已经成功地用python脚本返回了它。
发布于 2022-07-29 13:23:14
弄明白了。我在会议中遗漏了区域指示。
以下是完整的解决方案。
package main
import (
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/emr"
)
func main() {
starting := "STARTING"
running := "RUNNING"
waiting := "WAITING"
emr_states := []*string {&starting, &running, &waiting}
var abc emr.ListClustersInput
abc.SetClusterStates(emr_states)
sess := session.Must(session.NewSession())
reggie := "us-east-1"
sess.Config.Region = ®gie
svc := emr.New(sess)
list_clusters_output, err := svc.ListClusters(&abc)
if err != nil {
println(err.Error())
}
list_clusters_output_dereffed := *list_clusters_output
println(list_clusters_output_dereffed.GoString())
}https://stackoverflow.com/questions/73158656
复制相似问题