Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Pops RedisListTrigger nya element från en lista och visar dessa poster till funktionen.
Mer information om Utlösare och bindningar i Azure Cache for Redis finns i Redis-tillägget för Azure Functions.
Omfång för tillgänglighet för funktionsutlösare
| Utlösartyp | Azure Managed Redis | Azure Cache for Redis | 
|---|---|---|
| Listor | Ja | Ja | 
Viktigt!
När du använder Azure Managed Redis eller Enterprise-nivåerna i Azure Cache for Redis använder du port 10000 i stället för port 6380 eller 6379.
Viktigt!
Redis-utlösare stöds för närvarande inte för funktioner som körs i en förbrukningsplan eller en Flex Consumption-plan.
Exempel
Viktigt!
För .NET-funktioner rekommenderas användning av den isolerade arbetsmodellen över den pågående modellen. En jämförelse av de processbaserade och isolerade arbetsmodellerna finns i skillnader mellan den isolerade arbetsmodellen och den processbaserade modellen för .NET på Azure Functions.
Följande exempel avsöker nyckeln listTest.:
using Microsoft.Extensions.Logging;
namespace Microsoft.Azure.Functions.Worker.Extensions.Redis.Samples.RedisListTrigger
{
    public class SimpleListTrigger
    {
        private readonly ILogger<SimpleListTrigger> logger;
        public SimpleListTrigger(ILogger<SimpleListTrigger> logger)
        {
            this.logger = logger;
        }
        [Function(nameof(SimpleListTrigger))]
        public void Run(
            [RedisListTrigger(Common.connectionStringSetting, "listTest")] string entry)
        {
            logger.LogInformation(entry);
        }
    }
}
Följande exempel avsöker nyckeln listTest vid en localhost Redis-instans på redisLocalhost:
package com.function.RedisListTrigger;
import com.microsoft.azure.functions.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.redis.annotation.*;
public class SimpleListTrigger {
    @FunctionName("SimpleListTrigger")
    public void run(
            @RedisListTrigger(
                name = "req",
                connection = "redisConnectionString",
                key = "listTest",
                pollingIntervalInMs = 1000,
                maxBatchSize = 1)
                String message,
            final ExecutionContext context) {
            context.getLogger().info(message);
    }
}
Det här exemplet använder samma index.js fil med bindningsdata i function.json filen.
Här är index.js filen:
module.exports = async function (context, entry) {
    context.log(entry);
}
Här är bindningsdata från function.json:
{
    "bindings": [
        {
            "type": "redisListTrigger",
            "listPopFromBeginning": true,
            "connection": "redisConnectionString",
            "key": "listTest",
            "pollingIntervalInMs": 1000,
            "maxBatchSize": 16,
            "name": "entry",
            "direction": "in"
        }
      ],
    "scriptFile": "index.js"
}
Det här exemplet använder samma run.ps1 fil med bindningsdata i function.json filen.
Här är run.ps1 filen:
param($entry, $TriggerMetadata)
Write-Host $entry
Här är bindningsdata från function.json:
{
    "bindings": [
        {
            "type": "redisListTrigger",
            "listPopFromBeginning": true,
            "connection": "redisConnectionString",
            "key": "listTest",
            "pollingIntervalInMs": 1000,
            "maxBatchSize": 16,
            "name": "entry",
            "direction": "in"
        }
      ],
    "scriptFile": "run.ps1"
}
Det här exemplet använder samma __init__.py fil med bindningsdata i function.json filen.
Programmeringsmodellen Python v1 kräver att du definierar bindningar i en separat function.json fil i funktionsmappen. Mer information finns i utvecklarguiden för Python.
Här är __init__.py filen:
import logging
def main(entry: str):
    logging.info(entry)
Här är bindningsdata från function.json:
{
    "bindings": [
        {
            "type": "redisListTrigger",
            "listPopFromBeginning": true,
            "connection": "redisConnectionString",
            "key": "listTest",
            "pollingIntervalInMs": 1000,
            "maxBatchSize": 16,
            "name": "entry",
            "direction": "in"
        }
      ],
    "scriptFile": "__init__.py"
}
Attribut
| Parameter | Beskrivning | Obligatoriskt | Standardvärde | 
|---|---|---|---|
| Connection | Namnet på programinställningen  som innehåller cacheminnet anslutningssträng, till exempel: <cacheName>.redis.cache.windows.net:6380,password... | Ja | |
| Key | Nyckel att läsa från. Det här fältet kan lösas med hjälp av INameResolver. | Ja | |
| PollingIntervalInMs | Hur ofta redis ska avsökas i millisekunder. | Valfritt | 1000 | 
| MessagesPerWorker | Hur många meddelanden varje funktionsinstans ska bearbeta. Används för att avgöra hur många instanser funktionen ska skalas till. | Valfritt | 100 | 
| Count | Antal poster som ska visas från Redis samtidigt. Poster bearbetas parallellt. Stöds endast på Redis 6.2+ med argumentet COUNTiLPOPochRPOP. | Valfritt | 10 | 
| ListPopFromBeginning | Avgör om pop-poster ska visas från början med hjälp av LPOPeller pop-poster från slutet med hjälp avRPOP. | Valfritt | true | 
Kommentarer
Konfiguration
I följande tabell förklaras de bindningskonfigurationsegenskaper som du anger i function.json-filen.
Se avsnittet Exempel för fullständiga exempel.
Förbrukning
Pops RedisListTrigger nya element från en lista och visar dessa poster till funktionen. Utlösaren avsöker Redis med ett konfigurerbart fast intervall och använder LPOP och RPOP för att visa poster från listorna.
| Typ | Beskrivning | 
|---|---|
| byte[] | Meddelandet från kanalen. | 
| string | Meddelandet från kanalen. | 
| Custom | Utlösaren använder Json.NET serialisering för att mappa meddelandet från kanalen från en stringtill en anpassad typ. |