我在 Azure blob 存储中有一个 csv 文件,我想打开该文件并根据用户输入获取某些数据。我有两个问题:
1)空AzureWebJobStorage值在local.settings.json
我尝试使用AzureWebJobsStorage输入绑定,但值似乎为空。我不知道如何在local.settings.json中编辑什么值。因此,得到这个错误:
已执行Functions.HttpExample(失败,Id=3a9309d6-7019-4de6-a8d2-43c89921b0f6)[18-Feb-20 9:40:36 AM]System.Private.CoreLib:执行函数时异常:Functions.HttpExample.Microsoft.Azure.WebJobs.Host:值不能为空。
我用我的存储帐户的连接字符串更新了该值。它仍然不起作用。
function.json:
{
"type": "blob",
"direction": "in",
"name": "container_name",
"path": "blob_name/file_name.csv",
"connection": "AzureWebJobsStorage"
}
我使用了上面正确的变量名吗?因为我还收到了另一个错误:
指定的blob不存在。
但是blob存在于存储器中。
2)如何显示csv中的所有数据(假设上述问题已经解决)
这是我在__init__. py
中的当前代码:
def main(req: func.HttpRequest, inputblob: func.InputStream) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
section = req.params.get('section')
bound = req.params.get('bound')
km_location = req.params.get('km_location')
location = req.params.get('location')
if not section:
try:
req_body = req.get_json()
except ValueError:
pass
else:
section = req_body.get('section')
if section and bound and km_location:
#pass the following user input to the following function and use them to retrieve remaining info
#from csv (stored in blob) to user.
result(section, km_location, bound, location).getResult()
return func.HttpResponse(f"Hello {section}, {bound}!")
关于<code>函数中关于属性的定义。json您可以参考此文档:配置。
name 是表示函数代码中的 blob 的变量。它在函数代码中应该是相同的,并且可以是所需的任何变量。
以下是我的测试函数.json
,您也可以参考我提供的链接中的示例。
{
"name": "inputBlob",
"type": "blob",
"path": "test/test.csv",
"connection": "AzureWebJobsStorage",
"direction": "in"
}
关于如何读取csv文件,你可以参考我的函数代码。
import logging
import azure.functions as func
import csv
import codecs
def main(req: func.HttpRequest,inputBlob: func.InputStream) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
reader=csv.reader(codecs.iterdecode(inputBlob,'utf-8'))
for line in reader:
logging.info(line)
name = req.params.get('name')
if not name:
try:
req_body = req.get_json()
except ValueError:
pass
else:
name = req_body.get('name')
if name:
return func.HttpResponse(f"Hello {name}!")
else:
return func.HttpResponse(
"Please pass a name on the query string or in the request body",
status_code=400
)
这是我的测试结果,希望这能帮助你,如果你还有其他问题,请随时告诉我。
问题是,就应用程序生命周期处理和易于使用而言,这种体系结构是否可以被认为是安全的? Update:每次创建新的活动并希望获得数据时,它可以获得ApplicationContext的BehaviorSubject,然后订阅它,Subject将发出最后发出的值;我为什么要这样做?例如。假设你有新闻项目,你获取了新闻提要,你想启动后台任务来获取新闻项目的全部内容,在这种情况下,我可以在你滚动新闻列表时开
我需要帮助解决这个问题; 我知道call()方法将引用没有属性命名的人对象。 有没有办法使用bind()call()或apply()方法打印“Louie是Benjamin的狗”
我正在尝试编写一个Python实用函数,它接受本地定义类的对象,并在PySpark DataFrame<code>withColumn<code>调用中使用该类的一个方法作为用户定义函数(UDF)。实用功能签名为: 在类中,我有一个想用作UDF的方法。方法定义是: 在< code>spark_analyze中,我执行以下操作,其中< code>lp是传入的< code>LogProcessor类型
它幕后做的相当于:
问题内容: 我有一个通过SvcUtil生成的肥皂服务的WCF客户端,我想通过edge.js使用 是否可以使用edge.js从app.config加载服务模型绑定,还是必须在c#中构造绑定? 如果可以,app.config应该放在哪里? 谢谢, 加雷斯。 问题答案: 当使用Edge.js在Node.js应用程序中运行C#代码时,应用程序配置文件位于并且应该位于文件旁边。