com.microsoft.azure.functions.annotation
Copyright (c) Microsoft Corporation. Tous droits réservés. Concédé sous licence MIT. Pour plus d’informations sur la licence, consultez License.txt à la racine du projet. Annotations et classes de prise en charge à utiliser dans le cadre de l’API Java pour Azure Functions.
Classes
BindingTest |
Tests unitaires qui appliquent des contrats d’annotation et des conventions pour Functions |
Interfaces
BindingName |
Placez-le sur un paramètre dont la valeur proviendrait de Azure Functions runtime. Utilisez cette annotation lorsque vous souhaitez obtenir la valeur des métadonnées de déclencheur ou lorsque vous avez défini manuellement vos propres liaisons dans function.json. |
BlobInput |
BlobInput(name = « file », dataType = « binary », path = « samples-workitems/{queueTrigger} ») byte[] content, final ExecutionContext context ) { context.getLogger().info(« The size of \" » + filename + « » is: " + content.length + " bytes »); } |
BlobOutput |
BlobInput(name = « source », path = « samples-workitems/{queueTrigger} ») String content ) { return content; } |
BlobTrigger |
BindingName(« name ») Nom_chaîne, contexte ExecutionContext final ) { context.getLogger().info(« Name: " + filename + « , Size: " + content.length + " bytes »); } |
CosmosDBInput |
CosmosDBInput(name = « database », databaseName = « ToDoList », collectionName = « Items », id = « {Query.id} », connectionStringSetting = « AzureCosmosDBConnection ») Élément string> facultatif<) { return item.orElse(« Introuvable »); } |
CosmosDBOutput |
CosmosDBOutput(name = « database », databaseName = « ToDoList », collectionName = « Items », connectionStringSetting = « AzureCosmosDBConnection ») ) { return « { \"id »: « » + System.currentTimeMillis() + « », « description »: « » + message + « » } »; } |
CosmosDBTrigger |
CosmosDBTrigger(name = « database », databaseName = « ToDoList », collectionName = « Items », leaseCollectionName = « leases », createLeaseCollectionIfNotExists = true, connectionStringSetting = « AzureCosmosDBConnection ») List<Map<String, String>> items, final ExecutionContext context ) { context.getLogger().info(items.size() + " item(s) is/are inserted. »); if (!items.isEmpty()) { context.getLogger().info(« The ID of the first item is: " + items.get(0).get(« id »)); } } } |
CustomBinding |
CustomBinding(direction = « in », name = « inputParameterName », type = « customBindingTrigger ») String customTriggerInput final ExecutionContext context ) { context.getLogger().info(customTriggerInput); } |
EventGridOutput |
EventGridOutput(name = « outputEvent », topicEndpointUri = « MyEventGridTopicUriSetting », topicKeySetting = « MyEventGridTopicKeySetting ») OutputBinding<String> outputEvent final ExecutionContext context ) { context.getLogger().info(content); final String eventGridOutputDocument = « {\"id »: « 100 », « eventType »:"recordInserted », « subject »: « myapp/test/java », « eventTime »:"2017-08-10T21:03:07+00:00 », « data »: {"tag1 »: « value1 »,"tag2 »:"value2"}, « dataVersion »: « 1.0"} »; outputEvent. setValue(eventGridOutputDocument); } |
EventGridTrigger |
EventGridTrigger(name = « event ») String content, final ExecutionContext context ) { context.getLogger().info(content); } |
EventHubOutput |
TimerTrigger(name = « sendTimeTrigger », schedule = « 0 */5 * * * ») String timerInfo ) { return LocalDateTime.now().toString(); } |
EventHubTrigger |
EventHubTrigger(name = « event », eventHubName = « samples-workitems », connection = « AzureEventHubConnection ») String message, final ExecutionContext context ) { context.getLogger().info(« Event Hub message received: " + message); } |
ExponentialBackoffRetry |
Définit une stratégie de nouvelle tentative d’interruption exponentielle, où le délai entre les nouvelles tentatives augmente progressivement, limité par le nombre maximal/min spécifié. |
FixedDelayRetry |
Définit une stratégie de nouvelle tentative dans laquelle un délai fixe est utilisé entre les nouvelles tentatives. |
FunctionName |
HttpTrigger(name = « req », methods = {"get"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request) { .... } |
HttpOutput |
Placez-le sur un paramètre dont la valeur serait renvoyée à l’utilisateur en tant que réponse HTTP. Le type de paramètre doit être OutputBinding<T>, où T peut être l’un des éléments suivants :
|
HttpTrigger |
HttpTrigger(name = « req », methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) final HttpRequestMessage<Optional<String>> request) { String name = request.getBody().orElseGet() -> request.getQueryParameters().get(« name »)); return name == null ? « Veuillez passer un nom sur la chaîne de requête ou dans le corps de la requête » : « Hello » + nom; } |
KafkaOutput |
KafkaOutput(name = « event », topic = « users », brokerList="broker:29092 ») OutputBinding<String<output, final ExecutionContext context) { context.getLogger().info(« Message: » + message); output.setValue(message); return « { \"id »: « » + System.currentTimeMillis() + « », « description »: « » + message + « » } »; } |
KafkaTrigger |
KafkaTrigger(name = « kafkaTrigger », topic = « users », brokerList="broker:29092 », consumerGroup="functions ») List<Map<String, String>> kafkaEventData, final ExecutionContext context ) { context.getLogger().info(kafkaEventData); } |
QueueOutput |
HttpOutput(name = « response ») final OutputBinding<String> result ) { result.setValue(message + " has been added. »); return message; } |
QueueTrigger |
QueueTrigger(name = « msg », queueName = « myqueue-items », connection = « AzureWebJobsStorage ») String message, final ExecutionContext context ) { context.getLogger().info(« Queue message traité: " + message); } |
SendGridOutput |
Placez-le sur un paramètre dont la valeur serait écrite dans SendGrid. Le type de paramètre doit être OutputBinding<T>, où T peut être l’un des éléments suivants :
|
ServiceBusQueueOutput |
HttpOutput(name = « response ») final OutputBinding<String> result ) { result.setValue(message + " has been sent. »); return message; } |
ServiceBusQueueTrigger |
ServiceBusQueueTrigger(name = « msg », queueName = « myqueue », connection = « AzureServiceBusConnection ») final String message, final ExecutionContext context ) { context.getLogger().info(« Message is received: " + message); } |
ServiceBusTopicOutput |
Placez-le sur un paramètre dont la valeur serait écrite dans une rubrique Service Bus. Le type de paramètre doit être OutputBinding<T>, où T peut être l’un des éléments suivants :
|
ServiceBusTopicTrigger |
ServiceBusTopicTrigger(name = « msg », topicName = « mytopicname », subscriptionName = « mysubname », connection = « myconnvarname ») String message, final ExecutionContext context ) { context.getLogger().info(message); } |
StorageAccount |
Appliquez cette annotation à une méthode si vous avez plusieurs déclencheurs/entrées/sorties stockage Azure dans cette méthode qui partagent le même nom de paramètre d’application que la chaîne de connexion stockage Azure. |
TableInput |
TableInput(name = « items », tableName = « mytablename », partitionKey = « myparkey », connection = « myconnvarname ») MyItem[] items ) { return items.length; } |
TableOutput |
Placez-le sur un paramètre dont la valeur serait écrite dans une table de stockage. Le type de paramètre doit être OutputBinding<T>, où T peut être l’un des éléments suivants :
|
TimerTrigger |
TimerTrigger(name = « keepAliveTrigger », schedule = « 0 */5 * * * * ») String timerInfo, ExecutionContext context ) { // timeInfo est une chaîne JSON, vous pouvez la désérialiser en objet à l’aide de votre bibliothèque JSON préférée context.getLogger().info(« Timer is triggered: " + timerInfo); } |
TwilioSmsOutput |
Placez-le sur un paramètre dont la valeur serait envoyée via twilio SMS. Le type de paramètre doit être OutputBinding<T>, où T peut être l’un des éléments suivants :
|
Énumérations
AccessRights |
Azure Service Bus autorisation. |
AuthorizationLevel |
Niveau d’autorisation HTTP Azure : détermine les clés, le cas échéant, qui doivent être présentes sur la demande pour appeler la fonction. |
Cardinality |
Cardinalité de l’entrée EventHubTrigger. Choisissez « UN » si l’entrée est un seul message ou « Plusieurs » si l’entrée est un tableau de messages. 'Many' est la valeur par défaut si elle n’est pas spécifiée |
Azure SDK for Java