Partager via


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 *&#47;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 :

    <li>
    
      <p>
    
        <xref uid="com.microsoft.azure.functions.HttpResponseMessage" data-throw-if-not-resolved="false" data-raw-source="HttpResponseMessage"></xref>
    
      </p>
    
    </li>
    
    <li>
    
      <p>Any native Java types such as int, String, byte[] </p>
    
    </li>
    
    <li>
    
      <p>Any POJO type </p>
    
    </li>
    

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 :

    <li>
    
      <p>Any native Java types such as int, String, byte[] </p>
    
    </li>
    
    <li>
    
      <p>Any POJO type </p>
    
    </li>
    

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 :

    <li>
    
      <p>Any native Java types such as int, String, byte[] </p>
    
    </li>
    
    <li>
    
      <p>Any POJO type </p>
    
    </li>
    

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 :

    <li>
    
      <p>Any native Java types such as int, String, byte[] </p>
    
    </li>
    
    <li>
    
      <p>Any POJO type </p>
    
    </li>
    

TimerTrigger

TimerTrigger(name = « keepAliveTrigger », schedule = « 0 *&#47;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 :

    <li>
    
      <p>Any native Java types such as int, String, byte[] </p>
    
    </li>
    
    <li>
    
      <p>Any POJO type </p>
    
    </li>
    

É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