调用从GAE上传到PiCloud的库?

2024-03-28 12:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些从GAE调用Fortran模型的基本问题。你知道吗

我将一个Fortran77代码上传到一个测试环境中,然后使用f2py将其编译成一个.so文件。在下面的步骤中,我需要通过在GAE托管的网站上填写Django支持的表单来发送来自用户输入的输入值。让我困惑的是:

  1. 既然我已经把编译好的文件上传到PiCloud了,我还需要发布库吗(函数?)?如果是,我应该怎么做(导入上传的库然后发布)?

  2. 如何执行函数(进行计算)?对于python函数,我可以使用以下内容:

    “响应值=urlfetch.fetch文件(url=url值,方法)=urlfetch.GET获取,headers=http\u头) 输出值=json.loads文件(回应)_价值内容)['result']“

但是,fetch中没有“\u env=environ\u name”模型,有什么建议吗?你知道吗

提前谢谢,欢迎您的建议!你知道吗


Tags: 文件函数代码模型urlso测试环境fetch
1条回答
网友
1楼 · 发布于 2024-03-28 12:31:18

您是否遵循了在PiCloud中发布Python函数的过程?你知道吗

它应该如下所示(假设您的模块位于Python路径中,并且可以毫无问题地导入):

>>> import cloud
>>>
>>> def my_func(x):
>>>    import your_fortran_module
>>>    return your_fortran_module.function(x)
>>> 
>>> cloud.setkey(api-key, api-secretkey)
>>>
>>> cloud.rest.publish(my_func, "label_of_my_func", _env="your_environment")
"https://api.picloud.com/r/unique_user_id/label_of_my_func"

如图所示,cloud.rest.publish发布()将返回一个URL,您可以在其中使用GAE的urlfetch发送请求或函数调用。你知道吗

文档中给出了通过REST调用已发布函数的示例:

import base64
import json
import urlfetch

base64string = base64.encodestring('%s:%s' % (key, secret_ley))[:-1]
http_headers = {'Authorization' : 'Basic %s' % base64string}

response = urlfetch.fetch(url='https://api.picloud.com/servers/list/',
      payload={},  #POST DATA if method was urlfetch.POST
      method=urlfetch.GET,
      headers=http_headers)
data = json.loads(response.content)    #{"servers": ["https://api.picloud.com/"]}

图片来源:PiCloud REST文档:http://docs.picloud.com/rest.html

相关问题 更多 >