错误404 python azure函数中的头依赖项
我支持azure功能的实时遥测中的错误 我的函数具有as bin'ds事件中心触发器IN和Blob OUT。我的意思是,我想读取事件中心中的数据,并将其作为文件流传输到blob 我的绑定:错误404 python azure函数中的头依赖项,python,azure,azure-functions,Python,Azure,Azure Functions,我支持azure功能的实时遥测中的错误 我的函数具有as bin'ds事件中心触发器IN和Blob OUT。我的意思是,我想读取事件中心中的数据,并将其作为文件流传输到blob 我的绑定: import logging import azure.functions as func #from azure.storage.blob import BlobServiceClient def main(event: func.EventHubEvent, outputBlob: func.Out[
import logging
import azure.functions as func
#from azure.storage.blob import BlobServiceClient
def main(event: func.EventHubEvent, outputBlob: func.Out[func.InputStream]):
data = event.get_body().decode('utf-8')
outputBlob.set(data)
outputBlob: func.Out[str]
注意,在blob的路径中,我创建了一个{rand guid}参数来创建一个文件,用于使用guid进行调用
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "eventHubTrigger",
"name": "event",
"direction": "in",
"eventHubName": "myEventHUB",
"connection": "String",
"cardinality": "one",
"consumerGroup": "group1",
"dataType": "binary"
},
{
"type": "blob",
"direction": "out",
"name": "outputBlob",
"path": "mypath/{rand-guid}.json",
"connection": "myStringconnectiontoblob"
}
]
}
我的main.py函数是:
import logging
import azure.functions as func
#from azure.storage.blob import BlobServiceClient
def main(event: func.EventHubEvent, outputBlob: func.Out[func.InputStream]):
data = event.get_body().decode('utf-8')
outputBlob.set(data)
outputBlob: func.Out[str]
依赖项错误:
import logging
import azure.functions as func
#from azure.storage.blob import BlobServiceClient
def main(event: func.EventHubEvent, outputBlob: func.Out[func.InputStream]):
data = event.get_body().decode('utf-8')
outputBlob.set(data)
outputBlob: func.Out[str]
我的函数完成您的工作,读取事件中心及其在blob中写入的数据,但当我看到实时遥测日志时,我收到一个错误404头,所有文件都在blob中写入
可能发生此错误是因为我在输出路径中设置了{rand guid},当函数尝试检查文件是否存在时,它不存在。之后,函数创建blob文件,因为该文件通常在blob中写入
日志行就像
相关性|日志级别:信息|头| 404
我感谢您的评论或回答,以帮助我
谢谢我用我的事件中心和存储帐户测试了你的代码,发现了同样的问题。我同意你的考虑,在这个网站上搜索 如果容器或blob在此请求之前已被其他客户端删除,则发生 如果使用API调用在检查容器或blob是否存在后创建该容器或blob,则发生。CreateIfNotExists API首先进行HEAD调用,以检查容器或blob是否存在;如果不存在,则返回404错误,然后进行第二次PUT调用以写入容器或blob