Share via


com.microsoft.azure.functions.annotation

Copyright (c) Microsoft Corporation. Todos los derechos reservados. Autorización sujeta a la licencia MIT. Consulte License.txt en la raíz del proyecto para obtener información sobre la licencia. Anotaciones y clases de soporte técnico para su uso como parte de la API de Java para Azure Functions.

Clases

BindingTest

Pruebas unitarias que aplican convenciones y contratos de anotación para Functions

Interfaces

BindingName

Colóquelo en un parámetro cuyo valor provendría de Azure Functions tiempo de ejecución. Use esta anotación cuando desee obtener el valor de los metadatos del desencadenador o cuando haya definido sus propios enlaces en function.json manualmente.

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") String filename, final ExecutionContext context ) { context.getLogger().info("Name: " + filename + ", Size: " + content.length + " bytes"); }

CosmosDBInput

CosmosDBInput(name = "database", databaseName = "ToDoList", collectionName = "Items", id = "{Query.id}", connectionStringSetting = "AzureCosmosDBConnection") Elemento de cadena> opcional<) { return item.orElse("Not found"); }

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

Define una estrategia de reintentos de retroceso exponencial, en la que el retraso entre reintentos será progresivamente mayor, limitado por el valor máximo/mínimo especificado.

FixedDelayRetry

Define una estrategia de reintento en la que se usa un retraso fijo entre reintentos.

FunctionName

HttpTrigger(name = "req", methods = {"get"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request) { .... }

HttpOutput

Colóquelo en un parámetro cuyo valor se devolvería al usuario como respuesta HTTP. El tipo de parámetro debe ser OutputBinding<T>, donde T podría ser uno de los siguientes:

    <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 ? "Pase un nombre en la cadena de consulta o en el cuerpo de la solicitud" : "Hello " + name; }

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 processed: " + message); }

SendGridOutput

Colóquelo en un parámetro cuyo valor se escribiría en SendGrid. El tipo de parámetro debe ser OutputBinding<T>, donde T podría ser uno de los siguientes:

    <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

Colóquelo en un parámetro cuyo valor se escribiría en un tema de Service Bus. El tipo de parámetro debe ser OutputBinding<T>, donde T podría ser uno de los siguientes:

    <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

Aplique esta anotación a un método si tiene varios desencadenadores, entrada y salida de Azure Storage en ese método que comparten el mismo nombre de configuración de la aplicación de la cadena de conexión de Azure Storage.

TableInput

TableInput(name = "items", tableName = "mytablename", partitionKey = "myparkey", connection = "myconnvarname") MyItem[] items ) { return items.length; }

TableOutput

Colóquelo en un parámetro cuyo valor se escribiría en una tabla de almacenamiento. El tipo de parámetro debe ser OutputBinding<T>, donde T podría ser uno de los siguientes:

    <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 es una cadena JSON, puede deserializarla en un objeto mediante su contexto de biblioteca JSON favorito.getLogger().info("Timer is trigger: " + timerInfo); }

TwilioSmsOutput

Colóquelo en un parámetro cuyo valor se enviaría a través de sms de twilio. El tipo de parámetro debe ser OutputBinding<T>, donde T podría ser uno de los siguientes:

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

Enumeraciones

AccessRights

Azure Service Bus permiso.

AuthorizationLevel

Nivel de autorización HTTP de Azure, determina qué claves, si las hay, deben estar presentes en la solicitud para invocar la función.

Cardinality

Cardinalidad de la entrada EventHubTrigger. Elija "ONE" si la entrada es un único mensaje o "Muchos" si la entrada es una matriz de mensajes. 'Many' es el valor predeterminado si no se especifica