com.microsoft.azure.functions.annotation
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. Lizenziert unter der MIT-Lizenz. Lizenzinformationen finden Sie unter License.txt im Projektstamm. Anmerkungen und Unterstützungsklassen für die Verwendung als Teil der Java-API für Azure Functions.
Klassen
BindingTest |
Komponententests, die Anmerkungsverträge und Konventionen für Functions erzwingen |
Schnittstellen
BindingName |
Platzieren Sie dies für einen Parameter, dessen Wert aus Azure Functions Runtime stammen würde. Verwenden Sie diese Anmerkung, wenn Sie den Wert der Triggermetadaten abrufen möchten oder wenn Sie ihre eigenen Bindungen manuell in function.json definiert haben. |
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") Optionales<Zeichenfolgenelement> ) { 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") Listenzuordnungszeichenfolge<<, Zeichenfolgenelemente>>, abschließender ExecutionContext-Kontext ) { context.getLogger().info(items.size() + " item(s) is/are inserted."); if (!items.isEmpty()) { context.getLogger().info("Die ID des ersten Elements ist: " + 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 |
Definiert eine exponentielle Wiederholungsstrategie für backoffs, bei der die Verzögerung zwischen Wiederholungsversuchen schrittweise größer wird, begrenzt durch die angegebene Max/Min. |
FixedDelayRetry |
Definiert eine Wiederholungsstrategie, bei der eine feste Verzögerung zwischen Wiederholungen verwendet wird. |
FunctionName |
HttpTrigger(name = "req", methods = {"get"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request) { .... } |
HttpOutput |
Platzieren Sie dies für einen Parameter, dessen Wert als HTTP-Antwort zurück an den Benutzer gesendet wird. Der Parametertyp sollte OutputBinding<T> sein, wobei T eine der folgenden Sein kann:
|
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")); rückgabename == null ? "Übergeben Sie einen Namen in der Abfragezeichenfolge oder im Anforderungstext" : "Hallo " + 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 |
Platzieren Sie dies für einen Parameter, dessen Wert in SendGrid geschrieben wird. Der Parametertyp sollte OutputBinding<T> sein, wobei T eine der folgenden Sein kann:
|
ServiceBusQueueOutput |
HttpOutput(name = "response") final OutputBinding<String> result ) { result.setValue(message + " has been sent."); return message; } |
ServiceBusQueueTrigger |
ServiceBusQueueTrigger(name = "msg", queueName = "myqueue", connection = "AzureServiceBusConnection") letzte String-Nachricht, abschließender ExecutionContext-Kontext ) { context.getLogger().info("Message is received: " + message); } |
ServiceBusTopicOutput |
Platzieren Sie dies für einen Parameter, dessen Wert in ein Service Bus-Thema geschrieben wird. Der Parametertyp sollte OutputBinding<T> sein, wobei T eine der folgenden Sein kann:
|
ServiceBusTopicTrigger |
ServiceBusTopicTrigger(name = "msg", topicName = "mytopicname", subscriptionName = "mysubname", connection = "myconnvarname") String message, final ExecutionContext context ) { context.getLogger().info(message); } |
StorageAccount |
Wenden Sie diese Anmerkung auf eine Methode an, wenn Sie über mehrere Azure Storage-Trigger/-Eingaben/-Ausgaben in dieser Methode verfügen, die denselben App-Einstellungsnamen wie die Azure Storage-Verbindungszeichenfolge verwenden. |
TableInput |
TableInput(name = "items", tableName = "mytablename", partitionKey = "myparkey", connection = "myconnvarname") MyItem[] items ) { return items.length; } |
TableOutput |
Platzieren Sie dies für einen Parameter, dessen Wert in eine Speichertabelle geschrieben wird. Der Parametertyp sollte OutputBinding<T> sein, wobei T eine der folgenden Sein kann:
|
TimerTrigger |
TimerTrigger(name = "keepAliveTrigger", schedule = "0 */5 * * * * ") String timerInfo, ExecutionContext context ) { // timeInfo ist eine JSON-Zeichenfolge, Sie können es mithilfe Ihrer bevorzugten JSON-Bibliothek context.getLogger().info("Timer wird ausgelöst: " + timerInfo); } |
TwilioSmsOutput |
Platzieren Sie dies für einen Parameter, dessen Wert über twilio SMS gesendet wird. Der Parametertyp sollte OutputBinding<T> sein, wobei T eine der folgenden Sein kann:
|
Enumerationen
AccessRights |
Azure Service Bus Berechtigung. |
AuthorizationLevel |
Azure HTTP-Autorisierungsebene: Bestimmt, welche Schlüssel in der Anforderung vorhanden sein müssen, um die Funktion aufzurufen. |
Cardinality |
Kardinalität der EventHubTrigger-Eingabe. Wählen Sie "ONE", wenn die Eingabe eine einzelne Nachricht ist, oder "Viele", wenn die Eingabe ein Array von Nachrichten ist. "Viele" ist die Standardeinstellung, wenn sie nicht angegeben ist. |
Azure SDK for Java