Azure ML 执行 Python 模块:网络 I/O 已禁用?

Azure ML Execute Python Module: Network I/O Disabled?

是否无法从 azure ml 连接到 URL 并获取其内容

我的代码:

import requests
def azureml_main(dataframe1 = None, dataframe2 = None):    
    b= requests.get("http://www.google.com",timeout=30)
    dataframe1 = b.content
    return dataframe1

是否需要进行任何更改才能连接到 URL

错误:

Error 0085: The following error occurred during script evaluation, please view the output log for more information:
 ---------- Start of error message from Python interpreter ----------
data:text/plain,Caught exception while executing function: Traceback (most recent call last):
File "C:\server\invokepy.py", line 167, in batch
odfs = mod.azureml_main(*idfs)
File "C:\temp\azuremod.py", line 24, in azureml_main
b= requests.get("http://www.google.com",timeout=30)
File "C:\pyhome\lib\site-packages\requests\api.py", line 55, in get
return request('get', url, **kwargs)
File "C:\pyhome\lib\site-packages\requests\api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "C:\pyhome\lib\site-packages\requests\sessions.py", line 456, in request
resp = self.send(prep, **send_kwargs)
File "C:\pyhome\lib\site-packages\requests\sessions.py", line 559, in send
r = adapter.send(request, **kwargs)
File "C:\pyhome\lib\site-packages\requests\adapters.py", line 375, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='www.google.com', port=80): Max retries exceeded with url: / (Caused by <class 'socket.gaierror'>: [Errno 11001] getaddrinfo failed)

---------- End of error message from Python  interpreter  ---------

或者是否需要对 azure ml 设置进行任何更改

更新 2016 年 1 月 28 日

现在支持 Execute Python Script 的网络 I/O。

已过时

网络 I/O 不支持执行 Python 模块。为了执行这样的程序,您应该改为启动虚拟 machine(Windows 或 Linux 您的选择)。

Windows:

  1. RDP 到虚拟机
  2. 安装您选择的Python
  3. 您可以将 Python 程序从本地 Windows machine 拖放到 RDP 屏幕上以传输代码
  4. 然后运行你的程序

Ubuntu:

  1. 使用 Cygwin 或 Putty(Windows) 或终端 SSH (mac) 通过 SSH 连接到您的虚拟 machine ssh yourUserName@yourAzureVM.cloudapps.net
  2. 安装Pythonsudo apt-get install python
  3. 打开您首选的 Linux 文本编辑器 vi myProgram.py
  4. 将您的代码复制并粘贴到编辑器中(使用 esc 退出 vi :wq
  5. 运行 你的代码 python myProgram.py

要将数据从您的 VM 移动到 AzureML,请查看 Github

上的 Azure-MachineLearning-ClientLibrary-Python