通过自定义Web应用程序在AWS Sagemaker中启动Jupyter Notebooks

时间:2019-12-14 16:49:13

标签: amazon-web-services github jupyter-notebook jupyter amazon-sagemaker

在构建要使用AWS和Git服务的Webportal /平台方面,我们有一个要求,因为两者都将托管某些内容以允许用户搜索某些工件。

我们还希望允许用户在搜索了某些工件(例如某些jupyter笔记本)之后能够从我们的Web应用程序启动这些笔记本。请注意,笔记本位于不同的域中,即AWS Console应用程序托管它们。

现在,当用户单击Webportal搜索中的笔记本链接时,应在新标签中的笔记本实例中打开Jupyter笔记本。

我们了解到AWS Sagemaker和GIT的集成,因此可以配置一些用于存储笔记本的存储库。当用户在webapp中执行搜索时,它将从github API调用中获取结果。

也可以通过AWS Console在sagemaker-github集成中添加相同的存储库。因此,当用户启动笔记本时,他也会看到github仓库。

我了解我们可以通过SDK或Rest API来调用Sagemaker API(不确定是否可以在其上探索rest api接口)。查看CLI调用示例-

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name笔记本-sagemaker-git

这给了我一个响应URL "AuthorizedUrl": "https://notebook-sagemaker-git.notebook.us-east-2.sagemaker.aws?authToken=eyJhbGciOiJIUzI1NiJ9.eyJmYXNDcmVkZW50aWFscyI6IkFZQURlQlR1NHBnZ2dlZGc3VTJNcjZKSmN3UUFYd0FCQUJWaGQzTXRZM0o1Y0hSdkxYQjFZbXhwWXkxclpYa0FSRUZvUVZadGMxSjFSVzV6V1hGVGJFWmphRXhWUTNwcVlucDZaR2x5ZDNGQ1RsZFplV1YyUkRoTGJubHRWRzVQT1dWM1RTdDBTR0p6TjJoYVdXeDJabnBrUVQwOUFBRUFCMkYzY3kxcmJYTUFTMkZ5YmpwaGQzTTZhMjF6T25WekxXVmhjM1F0TWpvMk5qZzJOek15TXpJMk5UUTZhMlY1THpObFlUaGxNMk14TFRSaU56a3RORGd4T0

但是,当我打开此URL时,它再次询问我aws控制台的用户名和密码。当我登录用户时,我在webapp中感觉已经可以通过AWS API和GIT API对自己进行身份验证。

因此,当他们连接到AWS-Console以访问其笔记本时,无需重新进行身份验证。

使用SIngle登录等可以避免这种情况吗?

谢谢, 阿卡什(Aakash)

1 个答案:

答案 0 :(得分:0)

从对CreatePresignedNotebookInstanceUrl的调用中获得的URL仅在5分钟内有效。如果您尝试在5分钟的限制到期后使用该URL,则会直接进入AWS控制台登录页面。参见https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html

6月