下面是代码,
import logging
import json
import urllib.request
import urllib.parse
import azure.functions as func
def main(myblob: func.InputStream):
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {myblob.name}\n"
f"Blob Size: {myblob.length} bytes")
response = urllib.request.urlopen("http://example.com:5000/processing")
return {
'statusCode': 200,
'body': json.dumps(response.read().decode('utf-8'))
}
错误:结果:失败异常:运行时错误:没有$return绑定的函数“abc”返回了一个非无值堆栈:文件“/azure functions host/workers/python/3.7/LINUX/X64/azure_functions_worker/dispatcher.py”,第341行,在_handle_调用_请求f'function{fi.name!r}中,没有$return绑定”。同样的代码也适用于lambda。。请帮助我调试azure函数。
function.json
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "sourcemetadata/{name}",
"connection": "AzureWebJobsStorage"
}
]
}
在Azure函数中,如果在函数app code中使用return
,则表示要使用输出绑定。但是您没有在function.json中定义它。请定义它。有关更多详细信息,请参阅此处和此处
举个例子
我使用流程blob和blob触发器,并使用队列输出绑定将消息发送到azure队列
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "test/{name}.csv",
"connection": "AzureWebJobsStorage"
},
{
"name": "$return",
"direction": "out",
"type": "queue",
"queueName": "outqueue",
"connection": "AzureWebJobsStorage"
}
]
}
async def main(myblob: func.InputStream) :
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {myblob.name}\n")
return "OK"
我正在使用Python 3.x编写一个Azure timer触发器。我已经运行了一个这样的函数。我想我知道怎么做,从JS创建一个然后删除' index.js '并创建一个run.py,但这次,当我运行我的python函数时,我总是得到一个错误,说“没有这样的文件:index.js”。我没有看到函数和“index.js”文件之间有任何联系。 有什么想法吗?
我正在用Python作为后端编写一个应用程序,当我试图返回一个函数的变量时,我得到以下错误 这是我使用的代码 有人知道这个问题的答案吗?
我已经审阅了Microsoft提供的关于触发器的文档。[https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=python][1] 事实上,在Azure函数中使用参数允许我们检索blob和一些属性(),我们还可以使用函数读取字节,但是我们如何将字节转换为
问题内容: 我只是在创建一个用于检查对象数组中某个值的函数,但是由于某种原因,它一直在返回。这是为什么? 问题答案: 在函数中,您是从传递给的函数返回的,而不是从返回的。 您可以这样修改它: 但这会迭代所有元素,即使立即找到该项目也是如此。这就是为什么最好使用一个简单的循环: 请注意,我还修改了您的代码以返回值,而不是键。我想这就是意图。您可能还对另一个迭代函数感到困惑:传递给forEach的回调
到目前为止,我们创建的函数都只是对传入的数据进行了处理,处理完了就结束。但实际上,在某些场景中,我们还需函数将处理的结果反馈回来,就好像主管向下级员工下达命令,让其去打印文件,员工打印好文件后并没有完成任务,还需要将文件交给主管。 Python中,用 def 语句创建函数时,可以用 return 语句指定应该返回的值,该返回值可以是任意类型。需要注意的是,return 语句在同一函数中可以出现多次
我试图编写一个函数,使用闭包验证给定的集合。该函数获取集合的所有权,对内容进行迭代,如果没有找到无效的项,则返回集合的所有权。这就是为什么它可以这样使用(而不需要为创建一个temp):