尝试在Azure中使用HttpClient类

罗恩·特恩(Ron Trunk)

我正在尝试创建一个简单的Azure函数,以检查给定的URL是否可用(这只是概念证明)。我的问题是我无法弄清楚我需要导入哪个库来获取该客户端类。Azure文档一点也不清晰,所有示例都是C#或.NET

import logging
import azure.functions as func

def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    target = req.params.get('target')
    if not target:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            target = req_body.get('target')

    if target:
        try:
            MyClient = HttpClient()
            response = MyClient.GetAsync(f"http://{target}")
        except:
                return func.HttpResponse("Error", status_code = 500)
        if response.StatusCode == 200 or response.StatusCode == 302:
            return func.HttpResponse("OK")
        else:
            return func.HttpResponse("Bad", status_code = 503)
    else:
        return func.HttpResponse(
             "No target specified",
             status_code=400
        )

Requirements.txt:

azure-functions==1.2.1
altgraph==0.17
future==0.18.2
pefile==2019.4.18
PyInstaller==3.6
pywin32-ctypes==0.2.0
PyYAML==5.3.1
requests==2.24.0

为此,您可以requests通过在VS代码的“终端”窗口中运行以下命令,将其安装在python函数中。

pip install requests

然后将其导入并按以下方式使用(只需检查中status_coderesponse):

在此处输入图片说明

更新:

根据一些测试,我重现了您的问题。看来您没有requests在azure上成功安装模块,只是将其安装在本地的函数中。请参考以下步骤:

1.我假设您已requests在本地安装模块并在本地运行成功的功能(如果仍有问题,请告诉我)。然后,请在VS代码的“终端”窗口中运行以下命令,以生成“ requirements.txt”。

pip freeze > requirements.txt

在此处输入图片说明

“ requirements.txt”用于安装模块,将功能部署到azure时,azure将根据“ requirements.txt”中的内容安装模块。运行上面的命令以生成“ requirements.txt”后,您可以看到如下所示:在此处输入图片说明

您的函数显示500错误(“此页面无法运行”)的原因是“ requirements.txt”中缺少“ requests”。

2.然后在“终端”窗口中运行命令以将功能从本地部署到天蓝色。

func azure functionapp publish <functionAppName> --build remote

<functionAppName>是你在Azure门户创建功能的应用程序(蟒蛇)的名称。

3.之后,转到Azure门户测试您的功能,它将正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在类中使用 vector<vector<int>>

来自分类Dev

尝试在Java中使用Apache HttpClient进行GET时出错

来自分类Dev

尝试在自己的“类变量”部分中使用类名称的问题

来自分类Dev

尝试在Tkinter中使用类创建多个框架

来自分类Dev

尝试在类似类的javascript中使用angular ngTable

来自分类Dev

尝试在模板类中使用模板对象的问题

来自分类Dev

尝试在 python 中使用 selenium 从 div 类中获取文本

来自分类Dev

在VS 2013中使用HttpClient代理类对Web API进行单元测试

来自分类Dev

C#:尝试在其他类中使用控件元素-“需要对象引用”

来自分类Dev

尝试在Spring MVC中使用Maven从WSDL生成类时出错

来自分类Dev

在Django模板中使用abc.ABC类对象:为什么Django尝试实例化它?

来自分类Dev

尝试在派生类中使用太空飞船运营商

来自分类Dev

如果我尝试在父类中使用TransactionScope,为什么EF&NUnit会引发异常?

来自分类Dev

尝试在一个类中使用多个函数时发生Python错误。特肯特

来自分类Dev

尝试在C ++中使用列表实现类方法时出现以下错误!

来自分类Dev

尝试在函数中使用它时,无法识别在我的类中声明的属性?

来自分类Dev

尝试调用另一个类中的方法以在 IF 语句中使用

来自分类Dev

尝试使用Web Service类

来自分类Dev

尝试在 Azure HDInsight 连接器中使用 Spark 导入 Power BI 中的数据时出错

来自分类Dev

尝试在 azure 函数中使用绑定名称作为参数时出现 System.InvalidOperationException

来自分类Dev

尝试在GSAP中使用staggerTo

来自分类Dev

尝试在“ ViewData”中使用逻辑“ OR”

来自分类Dev

尝试在 Qt 中使用 boundingRect

来自分类Dev

在类中使用requestAnimationFrame

来自分类Dev

在JSP中使用类

来自分类Dev

在类中使用mixin

来自分类Dev

在类中使用Tempdata

来自分类Dev

在类中使用MySQLi

来自分类Dev

在Python中使用类

Related 相关文章

  1. 1

    尝试在类中使用 vector<vector<int>>

  2. 2

    尝试在Java中使用Apache HttpClient进行GET时出错

  3. 3

    尝试在自己的“类变量”部分中使用类名称的问题

  4. 4

    尝试在Tkinter中使用类创建多个框架

  5. 5

    尝试在类似类的javascript中使用angular ngTable

  6. 6

    尝试在模板类中使用模板对象的问题

  7. 7

    尝试在 python 中使用 selenium 从 div 类中获取文本

  8. 8

    在VS 2013中使用HttpClient代理类对Web API进行单元测试

  9. 9

    C#:尝试在其他类中使用控件元素-“需要对象引用”

  10. 10

    尝试在Spring MVC中使用Maven从WSDL生成类时出错

  11. 11

    在Django模板中使用abc.ABC类对象:为什么Django尝试实例化它?

  12. 12

    尝试在派生类中使用太空飞船运营商

  13. 13

    如果我尝试在父类中使用TransactionScope,为什么EF&NUnit会引发异常?

  14. 14

    尝试在一个类中使用多个函数时发生Python错误。特肯特

  15. 15

    尝试在C ++中使用列表实现类方法时出现以下错误!

  16. 16

    尝试在函数中使用它时,无法识别在我的类中声明的属性?

  17. 17

    尝试调用另一个类中的方法以在 IF 语句中使用

  18. 18

    尝试使用Web Service类

  19. 19

    尝试在 Azure HDInsight 连接器中使用 Spark 导入 Power BI 中的数据时出错

  20. 20

    尝试在 azure 函数中使用绑定名称作为参数时出现 System.InvalidOperationException

  21. 21

    尝试在GSAP中使用staggerTo

  22. 22

    尝试在“ ViewData”中使用逻辑“ OR”

  23. 23

    尝试在 Qt 中使用 boundingRect

  24. 24

    在类中使用requestAnimationFrame

  25. 25

    在JSP中使用类

  26. 26

    在类中使用mixin

  27. 27

    在类中使用Tempdata

  28. 28

    在类中使用MySQLi

  29. 29

    在Python中使用类

热门标签

归档