Ibm cloud 如何从IBM无服务器函数获取文本响应?

Ibm cloud 如何从IBM无服务器函数获取文本响应?,ibm-cloud,restful-url,serverless,openwhisk,Ibm Cloud,Restful Url,Serverless,Openwhisk,我想使用无服务器函数生成(并通过URL公开)类似CSV的输出。 从我的理解来看 这可以通过使用标签--响应类型text实现。但是我没有成功 我的代码是hello.py脚本 def main(args): text = '1,2,3' # json = {'a': [1,2,3]} response = text return response (请注意,根据用于生成函数的--response type标记,使用变量text或json返回正确的格式。) 我正在构建

我想使用无服务器函数生成(并通过URL公开)类似CSV的输出。 从我的理解来看 这可以通过使用标签
--响应类型text
实现。但是我没有成功

我的代码是hello.py脚本

def main(args):
    text = '1,2,3'
    # json = {'a': [1,2,3]}
    response = text
    return response
(请注意,根据用于生成函数的
--response type
标记,使用变量
text
json
返回正确的格式。)

我正在构建以下功能:

ibmcloud wsk action delete hello
ibmcloud wsk action create hello hello.py --web true
ibmcloud wsk api create /hello get hello --response-type text
我从中获取URL:
https://service.us.apiconnect.ibmcloud.com/gws/apigateway/api//hello

但一旦我点击了URL,我就会得到一个错误:

{
  "error": "There was an error processing your request.",
  "code": "35976969ecfff22ab15b274a5a56e45b"
}
相反,如果我从函数返回一个json,并使用
--响应类型json
创建函数,则 一切正常,我在浏览器上得到了漂亮的JSON

有人知道会发生什么吗

注1:响应将由不允许(轻松)处理JSON的服务捕获,并且 从那里我需要的CSV格式

注2:我发现了一个非常类似的主题,以及一个潜在的解决方案。然而,我不知道如何实现它或在我的案例中使用它

提前谢谢大家,


Manuel

函数必须始终返回JSON对象(python字典)。如果将函数公开为API端点,即openwhisk web操作,则可以返回以下响应:
return{body:text}


有关更多详细信息,请参阅此处的文档

函数必须始终返回JSON对象(python字典)。如果将函数公开为API端点,即openwhisk web操作,则可以返回以下响应:
return{body:text}


有关更多详细信息,请参阅此处的文档

是否了解
--响应类型文本
的用途?感谢您的回复--response type标志控制API网关代理的web操作的目标URL。例如,当您使用--response-type文本标志时,操作的完整结果将以文本格式返回,webaction url将附加一个.text。请参阅此处的内容扩展。您知道
--响应类型文本的目的是什么吗?感谢您的回复--response type标志控制API网关代理的web操作的目标URL。例如,当您使用--response-type文本标志时,操作的完整结果将以文本格式返回,webaction url将附加一个.text。请参见此处的内容扩展。