Clientbibliothek für Azure WebJobs Storage-Warteschlangen für .NET – Version 5.2.0
Diese Erweiterung bietet Funktionen für den Zugriff auf Azure Storage-Warteschlangen in Azure Functions.
Erste Schritte
Installieren des Pakets
Installieren Sie die Erweiterung Speicherwarteschlangen mit NuGet:
dotnet add package Azure.WebJobs.Extensions.Storage.Queues
Voraussetzungen
Sie benötigen ein Azure-Abonnement und ein Speicherkonto , um dieses Paket verwenden zu können.
Um ein neues Speicherkonto zu erstellen, können Sie das Azure-Portal, Azure PowerShell oder die Azure CLI verwenden. Beispiel für die Verwendung der Azure-Befehlszeilenschnittstelle:
az storage account create --name <your-resource-name> --resource-group <your-resource-group-name> --location westus --sku Standard_LRS
Authentifizieren des Clients
Damit die Erweiterung auf Warteschlangen zugreifen kann, benötigen Sie die Verbindungszeichenfolge, die im Azure-Portal oder mithilfe des folgenden Azure CLI-Ausschnitts gefunden werden kann.
az storage account show-connection-string -g <your-resource-group-name> -n <your-resource-name>
Die Verbindungszeichenfolge kann über die App-Einstellung AzureWebJobsStorage bereitgestellt werden.
Wichtige Begriffe
Verwenden des Warteschlangentriggers
Der Queue Storage-Trigger führt eine Funktion aus, wenn Azure Queue Storage Nachrichten hinzugefügt werden.
Befolgen Sie das Tutorial, um zu erfahren, wie Sie Warteschlangen in Azure Functions lauschen.
Verwenden der Warteschlangenbindung
Azure Functions kann neue Azure Queue Storage-Nachrichten durch Einrichten einer Ausgabebindung erstellen.
Befolgen Sie das Bindungstutorial, um mehr über die Verwendung dieser Erweiterung zum Erstellen von Nachrichten in Warteschlangen in Azure Functions zu erfahren.
Beispiele
Lauschen auf Warteschlange
Die folgenden Beispiele zeigen, wie Nachrichten empfangen und darauf reagiert werden, die der Warteschlange hinzugefügt werden.
Binden einer Warteschlangennachricht an Zeichenfolge
public static class QueueTriggerFunction_String
{
[FunctionName("QueueTriggerFunction")]
public static void Run(
[QueueTrigger("sample-queue")] string message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue, content={content}", message);
}
}
Bindungswarteschlangennachricht an BinaryData
public static class QueueTriggerFunction_BinaryData
{
[FunctionName("QueueTriggerFunction")]
public static void Run(
[QueueTrigger("sample-queue")] BinaryData message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue, content={content}", message.ToString());
}
}
Bindungswarteschlangennachricht an QueueMessage
public static class QueueTriggerFunction_QueueMessage
{
[FunctionName("QueueTriggerFunction")]
public static void Run(
[QueueTrigger("sample-queue")] QueueMessage message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue, content={content}", message.Body.ToString());
}
}
Binden einer Warteschlangennachricht an einen benutzerdefinierten Typ
public static class QueueTriggerFunction_CustomObject
{
public class CustomMessage
{
public string Content { get; set; }
}
[FunctionName("QueueTriggerFunction")]
public static void Run(
[QueueTrigger("sample-queue")] CustomMessage message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue, content={content}", message.Content);
}
}
Bindungswarteschlangennachricht an JObject
public static class QueueTriggerFunction_JObject
{
[FunctionName("QueueTriggerFunction")]
public static void Run(
[QueueTrigger("sample-queue")] JObject message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue, content={content}", message["content"]);
}
}
Veröffentlichen von Nachrichten in der Warteschlange
In den folgenden Beispielen wird gezeigt, wie Nachrichten mithilfe Queue
des Attributs zur Warteschlange hinzugefügt werden.
Der QueueTrigger
wird nur zur Vollständigkeit des Beispiels verwendet, d. h. es kann stattdessen jeder andere Triggermechanismus verwendet werden.
Veröffentlichen einer Nachricht als Zeichenfolge
public static class QueueSenderFunction_String_Return
{
[FunctionName("QueueFunction")]
[return: Queue("sample-queue-2")]
public static string Run(
[QueueTrigger("sample-queue-1")] string message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue-1, content={content}", message);
logger.LogInformation("Dispatching message to sample-queue-2");
return message;
}
}
Veröffentlichung einer Nachricht als BinaryData
public static class QueueSenderFunction_BinaryData_Return
{
[FunctionName("QueueFunction")]
[return: Queue("sample-queue-2")]
public static BinaryData Run(
[QueueTrigger("sample-queue-1")] BinaryData message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue-1, content={content}", message.ToString());
logger.LogInformation("Dispatching message to sample-queue-2");
return message;
}
}
Veröffentlichen einer Nachricht als QueueMessage
public static class QueueSenderFunction_QueueMessage_Return
{
[FunctionName("QueueFunction")]
[return: Queue("sample-queue-2")]
public static QueueMessage Run(
[QueueTrigger("sample-queue-1")] QueueMessage message,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue-1, content={content}", message.Body.ToString());
logger.LogInformation("Dispatching message to sample-queue-2");
return message;
}
}
Veröffentlichen einer Nachricht als benutzerdefinierter Typ über einen Out-Parameter
public static class QueueSenderFunction_CustomObject_OutParamter
{
public class CustomMessage
{
public string Content { get; set; }
}
[FunctionName("QueueFunction")]
public static void Run(
[QueueTrigger("sample-queue-1")] CustomMessage incomingMessage,
[Queue("sample-queue-2")] out CustomMessage outgoingMessage,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue-1, content={content}", incomingMessage.Content);
logger.LogInformation("Dispatching message to sample-queue-2");
outgoingMessage = incomingMessage;
}
}
Veröffentlichen einer Nachricht als benutzerdefinierter Typ über den Collector
public static class QueueSenderFunction_CustomObject_Collector
{
public class CustomMessage
{
public string Content { get; set; }
}
[FunctionName("QueueFunction")]
public static void Run(
[QueueTrigger("sample-queue-1")] CustomMessage incomingMessage,
[Queue("sample-queue-2")] ICollector<CustomMessage> collector,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue-1, content={content}", incomingMessage.Content);
logger.LogInformation("Dispatching message to sample-queue-2");
collector.Add(incomingMessage);
}
}
Zugreifen auf Warteschlangeneigenschaften
public static class Function_BindingToQueueClient
{
[FunctionName("QueueFunction")]
public static async Task Run(
[QueueTrigger("sample-queue")] string message,
[Queue("sample-queue")] QueueClient queueClient,
ILogger logger)
{
logger.LogInformation("Received message from sample-queue, content={content}", message);
QueueProperties queueProperties = await queueClient.GetPropertiesAsync();
logger.LogInformation("There are approximatelly {count} messages", queueProperties.ApproximateMessagesCount);
}
}
Konfigurieren der Erweiterung
Weitere Informationen finden Sie unter Beispielfunktionen-App.
Problembehandlung
Anleitungen zur Problembehandlung finden Sie unter Überwachen Azure Functions.
Nächste Schritte
Lesen Sie die Einführung in Azure Function , oder erstellen Sie eine Azure Function-Anleitung.
Mitwirken
Weitere Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie im CONTRIBUTING.md Storage .
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.