title | description | author | ms.service | ms.topic | ms.date | ms.author | ms.devlang | ms.custom |
---|---|---|---|---|---|---|---|---|
Create a Kotlin function in Azure Functions using IntelliJ |
Learn how to use IntelliJ to create a simple HTTP-triggered Kotlin function, which you then publish to run in a serverless environment in Azure. |
dglover |
azure-functions |
quickstart |
03/25/2020 |
dglover |
kotlin |
mode-other |
This article shows you how to create an HTTP-triggered Java function in an IntelliJ IDEA project, run and debug the project in the integrated development environment (IDE), and finally deploy the function project to a function app in Azure.
[!INCLUDE quickstarts-free-trial-note]
To create and publish Kotlin functions to Azure using IntelliJ, install the following software:
- Java Developer Kit (JDK), version 8
- Apache Maven, version 3.0 or higher
- IntelliJ IDEA, Community or Ultimate versions with Maven
- Azure CLI
- Version 2.x of the Azure Functions Core Tools. It provides a local development environment for writing, running, and debugging Azure Functions.
Important
The JAVA_HOME environment variable must be set to the install location of the JDK to complete the steps in this article.
- In IntelliJ IDEA, select Create New Project.
- In the New Project window, select Maven from the left pane.
- Select the Create from archetype check box, and then select Add Archetype for the azure-functions-kotlin-archetype.
- In the Add Archetype window, complete the fields as follows:
- GroupId: com.microsoft.azure
- ArtifactId: azure-functions-kotlin-archetype
- Version: Use the latest version from the central repository
- Select OK, and then select Next.
- Enter your details for current project, and select Finish.
Maven creates the project files in a new folder with the same name as the ArtifactId value. The project's generated code is a simple HTTP-triggered function that echoes the body of the triggering HTTP request.
Note
To run and debug the project locally, make sure you've installed Azure Functions Core Tools, version 2.
-
Import changes manually or enable auto import.
-
Open the Maven Projects toolbar.
-
Expand Lifecycle, and then open package. The solution is built and packaged in a newly created target directory.
-
Expand Plugins > azure-functions and open azure-functions:run to start the Azure Functions local runtime.
-
Close the run dialog box when you're done testing your function. Only one function host can be active and running locally at a time.
-
To start the function host in debug mode, add -DenableDebug as the argument when you run your function. You can either change the configuration in maven goals or run the following command in a terminal window:
mvn azure-functions:run -DenableDebug
This command causes the function host to open a debug port at 5005.
-
On the Run menu, select Edit Configurations.
-
Select (+) to add a Remote.
-
Complete the Name and Settings fields, and then select OK to save the configuration.
-
After setup, select Debug < Remote Configuration Name > or press Shift+F9 on your keyboard to start debugging.
-
When you're finished, stop the debugger and the running process. Only one function host can be active and running locally at a time.
-
Before you can deploy your project to a function app in Azure, you must log in by using the Azure CLI.
az login
-
Deploy your code into a new function app by using the
azure-functions:deploy
Maven target. You can also select the azure-functions:deploy option in the Maven Projects window.mvn azure-functions:deploy
-
Find the URL for your HTTP trigger function in the Azure CLI output after the function app has been successfully deployed.
[INFO] Successfully deployed Function App with package. [INFO] Deleting deployment package from Azure Storage... [INFO] Successfully deleted deployment package fabrikam-function-20170920120101928.20170920143621915.zip [INFO] Successfully deployed Function App at https://fabrikam-function-20170920120101928.azurewebsites.net [INFO] ------------------------------------------------------------------------
Now that you have deployed your first Kotlin function app to Azure, review the Azure Functions Java developer guide for more information on developing Java and Kotlin functions.
- Add additional function apps with different triggers to your project by using the
azure-functions:add
Maven target.