com.microsoft.azure.functions.annotation
Copyright (c) Microsoft Corporation. Todos os direitos reservados. Licenciado sob a licença MIT. Consulte License.txt na raiz do projeto para obter informações de licença. Anotações e classes de suporte para uso como parte da API Java para Azure Functions.
Classes
BindingTest |
Testes de unidade que impõem contratos de anotação e convenções para o Functions |
Interfaces
BindingName |
Coloque isso em um parâmetro cujo valor viria de Azure Functions runtime. Use essa anotação quando quiser obter o valor dos metadados de gatilho ou quando definir suas próprias associações em 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}") Conteúdo da cadeia de caracteres ) { retornar conteúdo; } |
BlobTrigger |
BindingName("name") Nome do arquivo de cadeia de caracteres, contexto final executionContext ) { context.getLogger().info("Name: " + filename + ", Size: " + content.length + " bytes"); } |
CosmosDBInput |
CosmosDBInput(name = "database", databaseName = "ToDoList", collectionName = "Items", id = "{Query.id}", connectionStringSetting = "AzureCosmosDBConnection") Item de cadeia de caracteres opcional<> ) { item de retorno.orElse("Não encontrado"); } |
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,>> Itens de cadeia de caracteres, contexto final executionContext ) { context.getLogger().info(items.size() + " item(s) is/are inserted."); if (!items.isEmpty()) { context.getLogger().info("A ID do primeiro item é: " + 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") Conteúdo da cadeia de caracteres, contexto final ExecutionContext ) { 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 uma estratégia de repetição de retirada exponencial, em que o atraso entre as repetições ficará progressivamente maior, limitado pelo máximo/min especificado. |
FixedDelayRetry |
Define uma estratégia de repetição em que um atraso fixo é usado entre novas tentativas. |
FunctionName |
HttpTrigger(name = "req", methods = {"get"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request) { .... } |
HttpOutput |
Coloque isso em um parâmetro cujo valor seria enviado de volta para o usuário como uma resposta HTTP. O tipo de parâmetro deve ser OutputBinding<T>, em que T pode ser um dos seguintes:
|
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 ? "Passe um nome na cadeia de caracteres de consulta ou no corpo da solicitação" : "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 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 |
Coloque isso em um parâmetro cujo valor seria gravado em SendGrid. O tipo de parâmetro deve ser OutputBinding<T>, em que T pode ser um dos seguintes:
|
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 |
Coloque isso em um parâmetro cujo valor seria gravado em um tópico do barramento de serviço. O tipo de parâmetro deve ser OutputBinding<T>, em que T pode ser um dos seguintes:
|
ServiceBusTopicTrigger |
ServiceBusTopicTrigger(name = "msg", topicName = "mytopicname", subscriptionName = "mysubname", connection = "myconnvarname") String message, final ExecutionContext context ) { context.getLogger().info(message); } |
StorageAccount |
Aplique essa anotação a um método se você tiver vários gatilhos/entrada/saída do Armazenamento do Azure nesse método que compartilham o mesmo nome de configuração de aplicativo da cadeia de conexão do Armazenamento do Azure. |
TableInput |
TableInput(name = "items", tableName = "mytablename", partitionKey = "myparkey", connection = "myconnvarname") MyItem[] items ) { return items.length; } |
TableOutput |
Coloque isso em um parâmetro cujo valor seria gravado em uma tabela de armazenamento. O tipo de parâmetro deve ser OutputBinding<T>, em que T pode ser um dos seguintes:
|
TimerTrigger |
TimerTrigger(name = "keepAliveTrigger", schedule = "0 */5 * * *") String timerInfo, ExecutionContext context ) { // timeInfo is a JSON string, you can deserialize-lo para um objeto usando seu contexto de biblioteca JSON favorito.getLogger().info("Timer is triggered: " + timerInfo); } |
TwilioSmsOutput |
Coloque isso em um parâmetro cujo valor seria enviado por meio do Twilio SMS. O tipo de parâmetro deve ser OutputBinding<T>, em que T pode ser um dos seguintes:
|
Enumerações
AccessRights |
Barramento de Serviço do Azure permissão. |
AuthorizationLevel |
Nível de autorização HTTP do Azure Determina quais chaves, se houver, precisam estar presentes na solicitação para invocar a função. |
Cardinality |
Cardinalidade da entrada EventHubTrigger. Escolha 'ONE' se a entrada for uma única mensagem ou 'Muitos' se a entrada for uma matriz de mensagens. 'Muitos' é o padrão se não for especificado |
Azure SDK for Java