跳至内容

如何使用 Lambda 函数创建 SageMaker AI 笔记本实例?

2 分钟阅读
0

我想使用 AWS Lambda 函数创建 Amazon SageMaker AI 笔记本实例。

解决方法

要构建用于创建 SageMaker AI 笔记本实例的 Lambda 函数,请完成以下步骤:

  1. 创建 AWS Identity and Access Management (IAM) Lambda 执行角色,并为其附加允许 sagemaker:CreateNotebookInstance 操作的策略。例如,创建一个附加有 AmazonSageMakerFullAccess 策略的角色,该策略将允许 sagemaker:CreateNotebookInstance 操作。

  2. 为 SageMaker AI 创建 IAM 执行角色。确保附加所需的权限

  3. 打开 Lambda 控制台

  4. 选择 Create function(创建函数)。

  5. 选择 Author from scratch(从头开始创作),然后设置以下参数:
    对于 Function name(函数名称),输入您的函数的名称。
    对于 Runtime(运行时),选择一个 Python 选项。
    Change default execution role(更改默认执行角色)下,选择 Use an existing role(使用现有角色)。
    对于 Existing role(现有角色),选择您在步骤 1 中创建的 IAM 角色。

  6. 选择 Create function(创建函数)。

  7. Code(代码)部分,输入以下代码:

    import osimport boto3import time
    
    INSTANCE_TYPE = os.environ['INSTANCE_TYPE']
    NOTEBOOK_NAME = os.environ['NOTEBOOK_NAME']
    ROLE=os.environ['ROLE']
    
    sagemaker = boto3.client('sagemaker')
    
    def lambda_handler(event, context):
        sagemaker_notebook = sagemaker.create_notebook_instance(
            NotebookInstanceName = NOTEBOOK_NAME +'-'+str(int(time.time())),
            InstanceType = INSTANCE_TYPE,
            RoleArn=ROLE
        )
    
    print("New Amazon SageMaker notebook instance created.")
  8. 选择 Configuration(配置)选项卡,然后选择 Environment variables(环境变量)。

  9. 选择 Edit(编辑)。

  10. 选择 Add environment variable(添加环境变量),然后使用以下选项创建三个环境变量。
    为第一个环境变量输入以下值:
    对于 Key(键),输入 ROLE
    对于 Value(值),输入您在步骤 2 中创建的 SageMaker AI 执行角色的 Amazon 资源名称 (ARN)。
    为第二个环境变量输入以下值:
    对于 Key(键),输入 INSTANCE_TYPE
    对于 Value(值),输入笔记本实例的 Amazon Elastic Compute Cloud (Amazon EC2) 实例类型
    为第三个环境变量输入以下值:
    对于 Key(键),输入 NOTEBOOK_NAME
    对于 Value(值),输入笔记本的名称。

  11. 选择 Save(保存)。

  12. 选择 Test(测试)选项卡。

  13. Test event(测试事件)下,选择 Create new event(创建新事件)或 Edit saved event(编辑已保存事件),然后选择要使用的已保存事件。或者,使用空值 ("{}") 测试事件。

  14. 选择 Save(保存),然后选择 Test(测试)。

  15. 打开 SageMaker AI 控制台,确认笔记本实例正在初始化。
    **注意:**如果 Lambda 函数测试超时,请打开 Lambda 函数。选择 Configuration(配置),进入 General Configuration(常规配置)部分,然后增加超时值。默认值为三秒。

创建 Lambda 函数后,您可以创建触发器,以便基于其他 AWS 服务中的事件自动运行该函数

AWS 官方已更新 6 个月前