Condividi tramite


Panoramica delle funzioni di Azure per Azure Redis

Questo articolo descrive come usare Azure Redis gestito o Azure Cache for Redis con Azure Functions per creare architetture serverless e basate su eventi ottimizzate.

Azure Functions fornisce un modello di programmazione basato su eventi in cui i trigger e le associazioni sono funzionalità chiave. Con Azure Functions è possibile creare facilmente applicazioni serverless basate su eventi. Azure servizi Redis (Azure Managed Redis e Azure Cache for Redis) offrono un set di blocchi predefiniti e procedure consigliate per la creazione di applicazioni distribuite, tra cui microservizi, gestione dello stato, messaggistica pub/sub e altro ancora.

Azure Redis può essere usato come trigger per Azure Functions, consentendo di avviare un flusso di lavoro serverless. Questa funzionalità può essere estremamente utile nelle architetture di dati, ad esempio una cache write-behind o in qualsiasi architettura basata su eventi.

È possibile integrare Azure Redis e Azure Functions per creare funzioni che reagiscono agli eventi da Azure Redis o da sistemi esterni.

Azione Direzione
Attivare i messaggi secondari di Pubblicazione Redis Trigger
Trigger in elenchi Redis Trigger
Trigger nei flussi Redis Trigger
Leggere un valore memorizzato nella cache Input
Scrivere valori nella cache Output

Ambito della disponibilità per trigger e associazioni di funzioni

Livello Azure Cache for Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) Azure Redis gestito (Ottimizzato per la memoria, Basic, Ottimizzato per il calcolo, Ottimizzato per Flash)
Publicazione/Sottoscrizione
Elenchi
Flussi
Bindings

Importante

I trigger Redis sono attualmente supportati solo per le funzioni in esecuzione in un piano Elastic Premium o in un piano di servizio app dedicato.

Installare l'estensione

Le funzioni vengono eseguite in un processo di lavoro C# isolato. Per altre informazioni, vedere Guide per l'esecuzione di Azure Functions C# in un processo di lavoro isolato.

Aggiungere l'estensione al progetto installando questo pacchetto NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis

Installare il bundle

Per poter usare questa estensione di associazione nell'app, assicurarsi che il file host.json nella radice del progetto contenga questo extensionBundle riferimento:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

In questo esempio, il valore version indica all'host delle Funzioni di [4.0.0, 5.0.0) di usare una versione del pacchetto che sia almeno 4.0.0 ma inferiore a 5.0.0, includendo tutte le versioni comprese nella serie 4.x. Questa notazione mantiene l'app nella versione secondaria più recente disponibile del bundle di estensione v4.x.

Quando possibile, è consigliabile usare la versione principale del bundle di estensione più recente e consentire al runtime di mantenere automaticamente la versione secondaria più recente. È possibile visualizzare il contenuto del bundle più recente nella pagina di rilascio extension bundle. Per altre informazioni, vedere bundle di estensioni Azure Functions.

Aggiornare i pacchetti

Aggiungere il pacchetto di annotazioni RedisAzure Functions Java al progetto aggiornando il file pom.xml per aggiungere questa dipendenza:

<dependency>
  <groupId>com.microsoft.azure.functions</groupId>
  <artifactId>azure-functions-java-library-redis</artifactId>
  <version>1.0.0</version>
</dependency>

Connection string Redis

Azure trigger e associazioni Redis hanno una proprietà obbligatoria che indica l'impostazione dell'applicazione o il nome della raccolta che contiene le informazioni di connessione alla cache. Il trigger o l'associazione Redis cerca una variabile ambientale contenente il connection string con il nome passato al parametro Connection.

Nello sviluppo locale, Connection può essere definito usando il file local.settings.json . Quando viene distribuita in Azure, è possibile usare impostazioni di applicazione.

Quando ci si connette a un'istanza della cache con una funzione Azure, è possibile usare uno di questi tipi di connessioni nelle distribuzioni:

Un'identità gestita assegnata dall'utente deve essere associata all'app per le funzioni e tale identità deve anche essere concessa autorizzazioni esplicite nel servizio cache. Per altre informazioni, vedere Use Microsoft Entra ID for cache authentication.

Questi esempi mostrano il nome della chiave e il valore delle impostazioni dell'app necessarie per connettersi a ogni servizio della cache in base al tipo di autenticazione client, presupponendo che la Connection proprietà nell'associazione sia impostata su Redis.

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"