> For the complete documentation index, see [llms.txt](https://serverless-workshop.gitbook.io/azure/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://serverless-workshop.gitbook.io/azure/4.-funksjon-basert-pa-melding.md).

# 4. Køtrigger

Funksjoner i azure kan eksekveres av flere forskjellige triggere. Til nå har vi sett på HTTP-trigger. I denne delen av workshop'en skal vi se på en funksjon som blir eksekvert som et resultat av en melding på en kø.

#### Opprette kø

* Åpne <https://portal.azure.com>
* Finn frem til din ressursgruppe ved å klikke på *Resource groups* i venstre-menyen
* Klikk videre inn i din ressursgruppe
* Klikk så på din storage account etterfulgt av Queues

![finn frem til køene i en storage account](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRHtWHKMlSIInB7lPi%2F-LeRLv5R7Cj1Enq12VDd%2Fqueues.PNG?alt=media\&token=23ccfefc-1a98-4140-8520-4b82242e8bdb)

* Opprett en ny kø som vi skal benytte for å trigge eksekvering av vår nye funksjon

![opprette en ny kø](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRHtWHKMlSIInB7lPi%2F-LeRMgq9fu_RnSJOOAGF%2Fcreatequeue.PNG?alt=media\&token=c97a6b37-8f6a-495b-adf7-d6a7fc143a61)

#### Lag funksjon som trigges av kø

* Opprett ny funksjon i Visual Studio Code, men denne gangen benytt *QueueTrigger* som mal for funksjonen&#x20;

![](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRNDvbY-DJoW8ktCGH%2F-LeRNeQMWf1r_2KfUyJO%2Fjoketrigger.PNG?alt=media\&token=15ff90e9-004e-4e64-8e7a-c3d284f882ac)

* velg `AzureWebJobStorgage`som innstilling i local.settings.json

![](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRPw-3l-bTEWmXblBO%2F-LeRQAPDvEvKPtWvXJoo%2Fazurewebjobs.PNG?alt=media\&token=e5249031-94e6-4cc2-b949-3213ade11e96)

* skriv inn navnet på køen du opprettet i portalen

![](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRPw-3l-bTEWmXblBO%2F-LeRQQOP0YNqnqeGfSPA%2Fmyqueue.PNG?alt=media\&token=f0344b4e-cb0e-452a-920b-9520c12d3603)

* du skal nå ha fått en funksjon som ligner på denne:

```csharp
[FunctionName("MyQueueTriggerFunc")]
public static void Run([QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, ILogger log)
{
    log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
}
```

* Trykk på F5 for å starte funksjonen lokalt. Den vil nå forsøke å koble opp mot køen som du opprettet i portalen og neste steg blir å lage en melding som denne funksjonen trigges av.

#### Lag en melding og sende på køen

For å teste funksjonen din kan du benytte Azure Storage Explorer (<https://azure.microsoft.com/en-us/features/storage-explorer/>) lokalt på din maskin.

* Åpne Azure Storage Explorer
* Klikk i venstremenyen og velg konto-ikonet
* Klikk på "Add an account..."
* Logg på kontoen du benytter mot portal.azure.com

![Oversikt over storage accounts på en gitt subscription](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRQnXdjW102CkhJQsy%2F-LeRSFgpN29U6N3jZZbf%2Fstoragexplorer.PNG?alt=media\&token=e4d8a8f2-c314-4ecb-9881-5c2127b56fe2)

* Når du har logget på skal du kunne se din storage account i listen under den aktuelle subscription

![Opprett ny melding](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeRQnXdjW102CkhJQsy%2F-LeRSpqaq1zeqosl0jJ7%2Fsendmessage.PNG?alt=media\&token=1c450eec-2e41-41c8-b15c-bca088d70539)

* Klikk på *Add message* for å lage en melding du kan sende til din funksjon.&#x20;
* Når du har laget meldingen, følg med i output vinduet til funksjonen i Visual Studio Code for å se at melding prosesseres
* Funksjonen kan nå deployes på samme måte som de andre funksjonene.

![deploye funksjon](https://4012816346-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ldjr8il1rik0IKqibl_%2F-LeQv13WZCP6dZyqYX8c%2F-LeQwNW2mAjFcUNsYHzD%2Fdeplytoazure.PNG?alt=media\&token=1f41de90-b497-45b4-93f7-a0239eec49c2)
