笔记本执行 Ruby 示例 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

笔记本执行 Ruby 示例

注意

EMR Notebooks 在新控制台中作为 Amazon EMR Studio Workspaces 提供。您仍然可以在旧控制台中使用现有笔记本,但无法在其中创建新笔记本。新控制台中的创建 Workspace 按钮将取代此功能。要访问或创建 Workspaces,EMR Notebooks 用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR Notebooks are Amazon EMR Studio Workspaces in new console(Amazon EMR Notebooks 在新控制台中为 Amazon EMR Studio Workspaces)和 What's new in the console?(控制台中有哪些新功能?)

以下是演示使用笔记本执行 API 的 Ruby 代码示例。

# prepare an Amazon EMR client emr = Aws::EMR::Client.new( region: 'us-east-1', access_key_id: 'AKIA...JKPKA', secret_access_key: 'rLMeu...vU0OLrAC1', )

启动笔记本执行并获取执行 ID

在此示例中,Amazon S3 编辑器和 EMR 笔记本是 s3://mybucket/notebooks/e-EA8VGAA429FEQTC8HC9ZHWISK/test.ipynb

有关 Amazon EMR API NotebookExecution 操作的更多信息,请参阅 Amazon EMR API actions

start_response = emr.start_notebook_execution({ editor_id: "e-EA8VGAA429FEQTC8HC9ZHWISK", relative_path: "test.ipynb", execution_engine: {id: "j-3U82I95AMALGE"}, service_role: "EMR_Notebooks_DefaultRole", }) notebook_execution_id = start_resp.notebook_execution_id

描述笔记本执行并打印详细信息

describe_resp = emr.describe_notebook_execution({ notebook_execution_id: notebook_execution_id }) puts describe_resp.notebook_execution

上述命令的输出如下。

{ :notebook_execution_id=>"ex-IZX3VTVZWVWPP27KUB90BZ7V9IEDG", :editor_id=>"e-EA8VGAA429FEQTC8HC9ZHWISK", :execution_engine=>{:id=>"j-3U82I95AMALGE", :type=>"EMR", :master_instance_security_group_id=>nil}, :notebook_execution_name=>"", :notebook_params=>nil, :status=>"STARTING", :start_time=>2020-07-23 15:07:07 -0700, :end_time=>nil, :arn=>"arn:aws:elasticmapreduce:us-east-1:123456789012:notebook-execution/ex-IZX3VTVZWVWPP27KUB90BZ7V9IEDG", :output_notebook_uri=>nil, :last_state_change_reason=>"Execution is starting for cluster j-3U82I95AMALGE.", :notebook_instance_security_group_id=>nil, :tags=>[] }

笔记本筛选条件

"EditorId": "e-XXXX", [Optional] "From" : "1593400000.000", [Optional] "To" :

停止笔记本执行

stop_resp = emr.stop_notebook_execution({ notebook_execution_id: notebook_execution_id })