Fix the http trigger signatures in tests, samples and docs. Upgrade the azure maven version

Resolves #1088
This commit is contained in:
Christian Tzolov
2023-10-30 14:34:17 +01:00
committed by Oleg Zhurakousky
parent c3cb561a7b
commit 9ceb4f64d2
5 changed files with 23 additions and 11 deletions

View File

@@ -74,15 +74,19 @@ public class MyAzureFunction {
@FunctionName("spring") // <3>
public String plainBean( // <4>
@HttpTrigger(name = "req", authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
@HttpTrigger(name = "req",
methods = { HttpMethod.POST },
authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
return this.uppercase.apply(request.getBody().get());
}
@FunctionName("scf") // <3>
public String springCloudFunction( // <5>
@HttpTrigger(name = "req", authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
@HttpTrigger(name = "req",
methods = { HttpMethod.POST },
authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
// Use SCF composition. Composed functions are not just spring beans but SCF such.
@@ -154,8 +158,10 @@ For that purpose the `AzureFunctionUtil.enhanceInputIfNecessary` allow you to ad
----
@FunctionName("myfunction")
public String execute(
@HttpTrigger(name = "req", authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
@HttpTrigger(name = "req",
methods = { HttpMethod.POST },
authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
Message message =
(Message) AzureFunctionUtil.enhanceInputIfNecessary(request.getBody().get(), context); // <1>

View File

@@ -20,6 +20,7 @@ import java.util.Optional;
import java.util.function.Function;
import com.microsoft.azure.functions.ExecutionContext;
import com.microsoft.azure.functions.HttpMethod;
import com.microsoft.azure.functions.HttpRequestMessage;
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
import com.microsoft.azure.functions.annotation.FunctionName;
@@ -80,7 +81,8 @@ public class AzureFunctionInstanceInjectorTest {
@FunctionName("hello")
public String execute(
@HttpTrigger(name = "req", authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
@HttpTrigger(name = "req", methods = { HttpMethod.GET,
HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
Message<String> enhancedRequest = (Message<String>) AzureFunctionUtil.enhanceInputIfNecessary(

View File

@@ -24,7 +24,7 @@
<start-class>com.example.azure.di.httptriggerdemo.HttpTriggerDemoApplication</start-class>
<!-- AZURE FUNCTION CONFIG -->
<azure.functions.maven.plugin.version>1.22.0</azure.functions.maven.plugin.version>
<azure.functions.maven.plugin.version>1.28.0</azure.functions.maven.plugin.version>
<functionAppName>spring-cloud-function-samples</functionAppName>
<functionAppRegion>westus</functionAppRegion>
<functionResourceGroup>java-functions-group</functionResourceGroup>
@@ -69,6 +69,7 @@
<pricingTier>${functionPricingTier}</pricingTier>
<hostJson>${project.basedir}/src/main/resources/host.json</hostJson>
<localSettingsJson>${project.basedir}/src/main/resources/local.settings.json</localSettingsJson>
<runtime>
<os>linux</os>

View File

@@ -53,7 +53,8 @@ public class MyAzureFunction {
@FunctionName("bean")
public String plainBeans(
@HttpTrigger(name = "req", authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
@HttpTrigger(name = "req", methods = {
HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
return echo.andThen(uppercase).apply(request.getBody().get());
@@ -61,7 +62,8 @@ public class MyAzureFunction {
@FunctionName("scf")
public String springCloudFunction(
@HttpTrigger(name = "req", authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
@HttpTrigger(name = "req", methods = {
HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
// Use SCF composition. Composed functions are not just spring beans but SCF such.

View File

@@ -2,6 +2,7 @@
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.*, 4.0.0)"
}
"version": "[4.*, 5.2.0)"
},
"functionTimeout": "00:10:00"
}