閱讀454 返回首頁    go 新東方


樣例代碼__Python SDK_SDK參考_E-MapReduce-阿裏雲

集群列表

  1. #!/usr/bin/python
  2. from aliyunsdkcore import client
  3. from aliyunsdkemr.request.v20160408 import ListClustersRequest
  4. clt = client.AcsClient('SFAW************','Nc2nZ6dQoiqck0*************', ,'cn-hangzhou') # set acessId and accessKey
  5. request = ListClustersRequest.ListClustersRequest()
  6. request.set_accept_format('xml') # xml or json
  7. # 設置狀態過濾,隻查找RUNNING和IDLE的集群,注意該參數為選填參數,可以不設置
  8. request.add_query_param('StatusList.1', 'RUNNING')
  9. request.add_query_param('StatusList.2', 'IDLE')
  10. result = clt.do_action(request)
  11. print result

創建集群

  1. #!/usr/bin/python
  2. from aliyunsdkcore import client
  3. from aliyunsdkemr.request.v20160408 import CreateClusterRequest
  4. clt = client.AcsClient('SFAW************','Nc2nZ6dQoiqck0*************', ,'cn-hangzhou') # set acessId and accessKey
  5. request = CreateClusterRequest.CreateClusterRequest()
  6. request.set_Name("pydemo")
  7. request.set_ZoneId("cn-hangzhou-b")
  8. request.set_LogEnable(False)
  9. request.set_SecurityGroupId("sg-********")
  10. request.set_IsOpenPublicIp(True)
  11. request.set_ChargeType("PostPaid")
  12. request.set_EmrVer("EMR-1.3.0")
  13. request.set_ClusterType("HADOOP")
  14. request.set_IoOptimized(True)
  15. request.set_InstanceGeneration("ecs-2")
  16. # set EcsOrder
  17. request.add_query_param('EcsOrder.1.NodeCount', '1')
  18. request.add_query_param('EcsOrder.1.NodeType', 'MASTER')
  19. request.add_query_param('EcsOrder.1.InstanceType', 'ecs.n1.large')
  20. request.add_query_param('EcsOrder.1.DiskType', 'CLOUD_EFFICIENCY')
  21. request.add_query_param('EcsOrder.1.DiskCapacity', '80')
  22. request.add_query_param('EcsOrder.1.DiskCount', '1')
  23. request.add_query_param('EcsOrder.1.Index', '1')
  24. request.add_query_param('EcsOrder.2.NodeCount', '3')
  25. request.add_query_param('EcsOrder.2.NodeType', 'CORE')
  26. request.add_query_param('EcsOrder.2.InstanceType', 'ecs.n1.large')
  27. request.add_query_param('EcsOrder.2.DiskType', 'CLOUD_EFFICIENCY')
  28. request.add_query_param('EcsOrder.2.DiskCapacity', '80')
  29. request.add_query_param('EcsOrder.2.DiskCount', '4')
  30. request.add_query_param('EcsOrder.2.Index', '2')
  31. request.set_accept_format('json')
  32. result = clt.do_action(request)
  33. print result

注意,由於阿裏雲產品眾多,所有SDK的生成是通過程序自動生成的,所以有些SDK的使用比較不方便,特別地,在目前Python SDK中,對入參是List(不管是基本類型的List還是複雜對象的List)支持不好,需要特殊處理。如果是基本類型的List入參,請參考“集群列表”示例代碼中對StatusList參數的設置,如果是複雜對象的List入參,請參考“創建集群”示例代碼中對EcsOrder參數的設置。其它List入參,例如BootstrapAction參數如果需要使用的話,處理方式類似。Java SDK沒有類似問題,使用起來會更加方便,我們優先 推薦您使用Java SDK。

其它接口操作類似,具體參考:https://help.aliyun.com/document_detail/28140.html

最後更新:2016-12-15 11:03:47

  上一篇:go 安裝SDK__Python SDK_SDK參考_E-MapReduce-阿裏雲
  下一篇:go 集群端口配置__附錄_E-MapReduce-阿裏雲