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 */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:
|
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:
|
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:
|
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:
|
TimerTrigger |
TimerTrigger(name = "keepAliveTrigger", schedule = "0 */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:
|
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 |
Azure SDK for Java