首页 > 编程语言 >1. 使用 IntelliJ IDEA 开发 Azure Function APP (Java)

1. 使用 IntelliJ IDEA 开发 Azure Function APP (Java)

时间:2023-06-28 16:58:07浏览次数:69  
标签:Function Java IntelliJ JDK IDEA 点击 Azure

1.1 前提

1.2 安装插件并登录

在 IntelliJ IDEA 中安装 Azure Toolkit 插件并登录,具体步骤如下:

  1. 在 IntelliJ IDEA Settings/Perfernced 中选择 Plug。在 MarketPlace 中找到 Azure Toolkit for IntelliJ,并点击 install。在安装完成后点击 Restart 插件可被使用。

    install_plug_step

  2. 要登录 Azure account,首先打开侧边栏中的 Azure Explore ,然后点击菜单顶部 (或者在 IDEA 菜单中,选择 Tools > Azure > Azure Sign In) Azure Sign In 图标。

    The IntelliJ Azure Sign In command.

  3. Azure Sign In 窗口选择 OAuth 2.0 然后点击 Sign In。如果使用其他登录选项,请参考 Sign-in instructions for the Azure Toolkit for IntelliJ

    The Azure Sign In window with device login selected.

  4. 在浏览器中登录 Azure account,然后返回到 IntelliJ。在 Select Subscription 对话框中选择您想要使用的订阅,并点击 Select

    img

    1.3 创建本地项目

    使用 Azure Toolkit 通过 IntelliJ 创建本地的 Azure Function 项目,具体步骤如下:

    1. 打开 IntelliJ IDEA 您会看到 Welcome 对话框,选择 New Project 打开新项目创建指导,并选择 Azure Functions

      Create function project.

    2. 选择 Http Trigger,然后点击 Next 随后根据创建指引完善在后续页面中的配置信息。确认您项目的地址,随后点击 Finish。IntelliJ IDEA 将会创建并在窗口中打开您的项目。

      Create function project finish.

1.3 在本地运行项目

在本地运行项目,跟随以下步骤:

⚠️ Important

You must have the JAVA_HOME environment variable set correctly to the JDK directory that is used during code compiling using Maven. Make sure that the version of the JDK is at least as high as the Java.version setting.

您必须将 JAVA_HOME 环境变量正确设置为使用 Maven 编译代码时使用的 JDK 目录。确保JDK的版本至少与 Java.version 的设置一样高。

  1. 导航到 src/main/java/org/example/functions/HttpTriggerFunction.java 来查看生成的代码。在第 24 行旁边,你会发现有一个绿色的 Run 按钮。点击它并选择运行 Run 'Functions-azur...'。你会看到你的函数应用正在本地运行,并有一些日志。
    Local run project.

    Local run project output.

  2. 你可以通过从浏览器访问显示的端点来尝试该功能,如 http://localhost:7071/api/HttpExample?name=Azure

    Local run function test result.

  3. 该日志也会显示在你的IDEA中。点击 Stop 按钮,停止该功能应用。

    Local run function test log.

1.4 在本地 Debug 项目

在本地 Debug 项目,具体步骤如下:

  1. 选择 Debug 按钮在工具栏中,如果您未找到工具栏,请通过在菜单中选择 View > Apperance > Toolbar 以激活菜单栏。

    Local debug function app button.

  2. 点击文件 src/main/java/org/example/functions/HttpTriggerFunction.java 的第 31 行,添加一个断点。再次访问端点 http://localhost:7071/api/HttpTrigger-Java?name=Azure,你会发现断点被击中。然后,你可以尝试更多的调试功能,如 Step、Watch、and Evaluation。点击 Stop 按钮,停止调试会话。

    Local debug function app break.

1.5 部署您的项目到 Azure 上

部署您的 Azure Function App 到 Azure 上具体步骤如下:

  1. 右键点击 IntelliJ 项目资源管理器中的你的项目。然后选择 Azure > Deploy > to Azure Functions

标签:Function,Java,IntelliJ,JDK,IDEA,点击,Azure
From: https://www.cnblogs.com/guten-tag/p/1-shi-yong-intellij-idea-kai-fa-azure-function-app.htm

相关文章

  • 解锁高质量文档转换:通过Java应用程序免费将PDF转换为XPS
    在当今数字时代,文档转换已经成为我们日常生活中不可或缺的一部分。然而,不是所有的文件格式都是平等无差的,在与他人共享文档时可能会遇到兼容性问题。这就是我们需要进行文件格式转换的原因,而将PDF转换为XPS是一种受欢迎的转换选择。如果你正在寻找一种使用Java将PDF文件转换为XPS......
  • 讯飞离线语音合成新版(Aikit)-android sdk合成 demo(Java版本)
    前言:科大讯飞的新版离线语音合成,由于官网demo是kt语言开发的,咱也看不懂kt,搜遍了全网也没看到一个java版的新版离线语音demo,现记录下,留给有缘人参考!!!!!毕竟咱在这上面遇到了不少的坑。如果能留言指正,那就更好了。第一步:​ 官网注册账号---》实名认证---》点击语音合成---》离线语音......
  • Java中用到的线程调度
    抢占式调度抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制,系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。协同式调度协同......
  • Java 9 新特性
    Java9引入了许多新特性和改进,下面是一些Java9的新特性以及相关案例:模块化系统(JavaPlatformModuleSystem,JPMS):Java9引入了一个全新的模块化系统,允许开发者将代码组织成模块,以提高代码的可维护性和可重用性。模块化系统可以帮助开发者解决依赖......
  • Java 8 新特性
    Java8是Java编程语言的一个重要版本,引入了许多更新和改进。Lambda表达式:引入了函数式编程的概念,可以简化代码,提高代码的可读性和可维护性。1//使用Lambda表达式实现一个简单的线程2Threadthread=newThread(()->System.out.println("Hello,Lambda!"......
  • JavaScript-常用字符串方法和属性
    JavaScript-常用字符串方法和属性charAt()//返回指定位置处的字符。charCodeAt()//返回指定位置处字符编码。codePointAt()//返回字符串中索引(位置)处的Unicode值。concat()//返回两个或多个连接的字符串。constructor返回字符串的构造函数。endsWith()//返回......
  • 在 Java、Python、JavaScript 和 Go 中拥抱异步
    ​本文讨论了四种语言的异步,强调了它在创建高效、响应迅速的应用程序中的作用。作为一名拥有多年主要使用Java工作经验的软件开发人员,当我最近为一个新项目切换到Python时,我发现自己很感兴趣。这种转变促使我探索各种语言的异步编程世界,包括Java、Python、JavaScript和Go......
  • Java阻塞队列原理
    阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况:1.当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。2.当队列中填满数据的情况下,生产者端的所有线程都会自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。阻塞队列的......
  • (Python编程)Jython:Java的Python
    ProgrammingPython,3rdEdition翻译最新版本见wiki:http://wiki.woodpecker.org.cn/moin/PP3eD欢迎参与翻译与修订。18.4.Jython:PythonforJava18.4.Jython:Java的PythonJython(formerlyknownasJPython)isanentirelydistinctimpleme......
  • web和java哪个就业更好?
    首先,要区分两种开发语言的特点:Java是一种后台的语言,类似于php,主要做的就是把数据库搭建好,以及数据放置到网页当中,java是比较复杂的编程语言。Web前端开发相对应的职位可能就是一些web前端开发工程师,主要工作是把ui设计师设计好的psd利用html,制作成网页,web前端工程师布局网站的结......