Function App Function
Manages a Function App Function.
Example Usage
Basic HTTP Trigger
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.appservice.ServicePlan;
import com.pulumi.azure.appservice.ServicePlanArgs;
import com.pulumi.azure.appservice.LinuxFunctionApp;
import com.pulumi.azure.appservice.LinuxFunctionAppArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigApplicationStackArgs;
import com.pulumi.azure.appservice.FunctionAppFunction;
import com.pulumi.azure.appservice.FunctionAppFunctionArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var exampleServicePlan = new ServicePlan("exampleServicePlan", ServicePlanArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.osType("Linux")
.skuName("S1")
.build());
var exampleLinuxFunctionApp = new LinuxFunctionApp("exampleLinuxFunctionApp", LinuxFunctionAppArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.servicePlanId(exampleServicePlan.id())
.storageAccountName(exampleAccount.name())
.storageAccountAccessKey(exampleAccount.primaryAccessKey())
.siteConfig(LinuxFunctionAppSiteConfigArgs.builder()
.applicationStack(LinuxFunctionAppSiteConfigApplicationStackArgs.builder()
.pythonVersion("3.9")
.build())
.build())
.build());
var exampleFunctionAppFunction = new FunctionAppFunction("exampleFunctionAppFunction", FunctionAppFunctionArgs.builder()
.functionAppId(exampleLinuxFunctionApp.id())
.language("Python")
.testData(serializeJson(
jsonObject(
jsonProperty("name", "Azure")
)))
.configJson(serializeJson(
jsonObject(
jsonProperty("bindings", jsonArray(
jsonObject(
jsonProperty("authLevel", "function"),
jsonProperty("direction", "in"),
jsonProperty("methods", jsonArray(
"get",
"post"
)),
jsonProperty("name", "req"),
jsonProperty("type", "httpTrigger")
),
jsonObject(
jsonProperty("direction", "out"),
jsonProperty("name", "$return"),
jsonProperty("type", "http")
)
))
)))
.build());
}
}
Content copied to clipboard
HTTP Trigger With Code Upload
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.appservice.ServicePlan;
import com.pulumi.azure.appservice.ServicePlanArgs;
import com.pulumi.azure.appservice.WindowsFunctionApp;
import com.pulumi.azure.appservice.WindowsFunctionAppArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigApplicationStackArgs;
import com.pulumi.azure.appservice.FunctionAppFunction;
import com.pulumi.azure.appservice.FunctionAppFunctionArgs;
import com.pulumi.azure.appservice.inputs.FunctionAppFunctionFileArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var exampleServicePlan = new ServicePlan("exampleServicePlan", ServicePlanArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.osType("Windows")
.skuName("S1")
.build());
var exampleWindowsFunctionApp = new WindowsFunctionApp("exampleWindowsFunctionApp", WindowsFunctionAppArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.servicePlanId(exampleServicePlan.id())
.storageAccountName(exampleAccount.name())
.storageAccountAccessKey(exampleAccount.primaryAccessKey())
.siteConfig(WindowsFunctionAppSiteConfigArgs.builder()
.applicationStack(WindowsFunctionAppSiteConfigApplicationStackArgs.builder()
.dotnetVersion("6")
.build())
.build())
.build());
var exampleFunctionAppFunction = new FunctionAppFunction("exampleFunctionAppFunction", FunctionAppFunctionArgs.builder()
.functionAppId(exampleWindowsFunctionApp.id())
.language("CSharp")
.files(FunctionAppFunctionFileArgs.builder()
.name("run.csx")
.content(Files.readString(Paths.get("exampledata/run.csx")))
.build())
.testData(serializeJson(
jsonObject(
jsonProperty("name", "Azure")
)))
.configJson(serializeJson(
jsonObject(
jsonProperty("bindings", jsonArray(
jsonObject(
jsonProperty("authLevel", "function"),
jsonProperty("direction", "in"),
jsonProperty("methods", jsonArray(
"get",
"post"
)),
jsonProperty("name", "req"),
jsonProperty("type", "httpTrigger")
),
jsonObject(
jsonProperty("direction", "out"),
jsonProperty("name", "$return"),
jsonProperty("type", "http")
)
))
)))
.build());
}
}
Content copied to clipboard
Import
a Function App Function can be imported using the resource id
, e.g.
$ pulumi import azure:appservice/functionAppFunction:FunctionAppFunction example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/functions/function1"
Content copied to clipboard