This Maven Plugin supports the following configuration properties:
Property Required Description<resourceGroup>
true Specifies the Azure Resource Group for your Azure Functions. <appName>
true Specifies the name of your Azure Functions. <region>
* false Specifies the region where your Azure Functions will be hosted; default value is westus. All valid regions are at Supported Regions section. <runtime>
false The runtime environment configuration, default runtime is windows. Details could be found in runtime section. <pricingTier>
* false Specifies the pricing tier for your Azure Functions; default value is Consumption. All valid pricing tiers are at Supported Pricing Tiers section. <appServicePlanResourceGroup>
false Specifies the resource group of the existing App Service Plan when you do not want to create a new one. If this setting is not specified, the plugin will use the value defined in <resourceGroup>
. <appServicePlanName>
false Specifies the name of the existing App Service Plan when you do not want to create a new one. <appSettings>
false Specifies the application settings for your Azure Functions, which are defined in name-value pairs like following example:
<property>
<name>xxxx</name>
<value>xxxx</value>
</property>
<deploymentType>
false Specifies the deployment approach you want to use. All valid regions are at Supported Deployment Type section. <httpProxyHost>
false Specifies an optional HTTP proxy to connect to Azure through. <httpProxyPort>
false Specifies an optional HTTP proxy port to connect to Azure through
<localDebugConfig>
false The config string of debug options, you may visit here for more information. The default value is transport=dt_socket,server=y,suspend=n,address=5005
; <appInsightsKey>
false Specifies the instrumentation key of application insights which will bind to your function app. <appInsightsInstance>
false Specifies the name of application insights which will bind to your function app, must be in the same resource group with function app. <disableAppInsights>
false Specifies whether to disable application insights for your function app, default value is false. <deploymentSlot>
false Specifies deployment slot name and its configuration source when create or update deployment slots, refers DeploymentSlot for details <hostJson>
false Path for host json file, default to be host.json
in project root <localSettingsJson>
false Path for func local settings file, default to be local.settings.json
in project root <funcPort>
false Config port for function local host, default to be 7071
<artifactPath>
false Path for the artifact to package and deploy, by default maven plugin will use artifact build by maven <skipCopyDependencies>
false Boolean flag to control whether to skip copy dependencies to staging directory, please set this to true
if you use your own fat jar with <artifactPath>
, default value is false <buildJarWithDependencies>
false (Preview) Boolean flag to control whether to build fat jar during azure-functions:package
, default value is false, refers Fat Jar for details Properties for Azure Container Apps hosting of Azure Functions Property Required Description <environment>
false The azure container apps environment to hold function app, in this case, function runtime could only be docker, please refer runtime for details. If this is not configured, toolkit will run the function app with app service plan. <workloadProfileName>
false The workload profile name to run the function app on, default value is Consumption
<cpu>
false The CPU in cores of the container host function app. e.g 0.75. <memory>
false The memory size of the container host function app. e.g. 1.0Gi. Only works for container host function app Properties for Flex Consumption Function App Property Required Description <instanceMemory>
false Set the amount of memory allocated to each instance of the function app in MB. CPU and network bandwidth are allocated proportionally. Values must be one of 512
, 2048
, 4096
and default value is 2048 <maximumInstances>
false The maximum number of instances for the function app. Value must be in range [40, 1000] and default value is 100 <deploymentStorageAccount>
false The storage account which is used to store deployment artifacts. If not specified, will use account defined with for deployment <deploymentStorageResourceGroup>
false The resource group of the storage account which is used to store deployment artifacts. <deploymentStorageContainer>
false The container in the storage account which is used to store deployment artifacts. <storageAuthenticationMethod>
false The authentication method to access the storage account for deployment. Available options: SystemAssignedIdentity
, UserAssignedIdentity
, StorageAccountConnectionString
. <userAssignedIdentityResourceId>
false Set the resource ID of the identity, required for UserAssignedIdentity
authentication. <storageAccountConnectionString>
false Set the name of the app setting that has the storage account connection string, used when use StorageAccountConnectionString
authentication. <alwaysReadyInstances>
false Always ready instances config for flex consumption function app, in the form of name-value pairs. <httpInstanceConcurrency>
false Concurrency for http triggers.
*: This setting will be used to create a new Azure Functions if specified Azure Functions does not exist; if target Azure Functions already exists, this setting will be ignored.
All valid regions are listed as below. Read more at Azure Region Availability.
westus
westus2
eastus
eastus2
northcentralus
southcentralus
westcentralus
canadacentral
canadaeast
brazilsouth
northeurope
westeurope
uksouth
eastasia
southeastasia
japaneast
japanwest
australiaeast
australiasoutheast
centralindia
southindia
Consumption plan is the default if you don't specify anything for your Azure Functions.
You can also run Functions within your App Service Plan. Both Premium plan and Dedicated plan are suported. All valid pricing tiers are listed as below. Read more at Azure App Service Plan Pricing.
Consmuption
Flex Consumption
EP1
EP2
EP3
F1
D1
B1
B2
B3
S1
S2
S3
P1V2
P2V2
P3V2
Supported <os>
values are Linux, Windows and Docker.
For windows/linux function, please set runtime java version with <javaVersion>
, supported values are 8
, 11
and 17
<runtime>
<os>windows</os>
<javaVersion>8</javaVersion>
</runtime>
Note: If the
<javaVersion>
is not configured,Java 8
will be used by default
For docker runtime function (either runs on service plan or container apps environment), please please set the following parameters.
<runtime>
<os>docker</os>
<image>[hub-user/]repo-name[:tag]</image>
<serverId></serverId>
<registryUrl></registryUrl> <!- could be omitted for docker hub images -->
</runtime>
Supported Deployment TypeFor private docker images, please set your
username
andpassword
in mavensettings.xml
and refer it with<serverId>
in runtime configuration, below is an example... <servers> ... <server> <id>SERVER_ID</id> <username> </username> <password> </password> </server> </servers>
Maven plugin will select deployment method by runtime configuration automatically:
All valid deployment type are listed as below.
Note: Both RUN_FROM_ZIP and RUN_FROM_BLOB are implement of run from package, RUN_FROM_ZIP will deploy the artifact with ZIP deploy and set
WEBSITE_RUN_FROM_PACKAGE
to 1; RUN_FROM_BLOB will upload the artifact to blob storage and setWEBSITE_RUN_FROM_PACKAGE
to correspond blob url.
Azure Functions deployment slots allow your function app to run different instances called "slots", slots are different environments exposed via a publicly available endpoint. For details about deployment slot, please refer this document.
For maven plugin, we also provide deployment slot which could help you create a new deployment slot or updating the existing one, below is the configuration schema.
Property Required Description<name>
true Specifies the deployment slot name <configurationSource>
false Specifies the configuration source of new created deployment slot, could be parent
or existing deployment slot name, default value is parent
<deploymentSlot> <name>demo-slot</name> <configurationSource>parent</configurationSource> </deploymentSlot>
Functions maven plugin will use artifact build by maven compiler plugin for local run and deployment by default, and dependencies will be copied to lib
folder of staging directory, however, this may affect the performance of function host cold start. To resolve this issue, you may use artifact with dependencies (fat jar), and functions maven plugin could help you build fat jar with <buildJarWithDependencies>
set to true
.
To build fat jar, we will call maven-shade-plugin
with following configuration, you may also provide your own fat jar with <artifactPath>
, in this case, please set <skipCopyDependencies>
to true
as well.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.4.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/> </transformers> </configuration> </execution> </executions> </plugin>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4