Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come usare Redis gestito di Azure o cache di Azure per Redis con Funzioni di Azure per creare architetture serverless e guidate dagli eventi ottimizzate.
Funzioni di Azure fornisce un modello di programmazione basato su eventi in cui i trigger e le associazioni sono funzionalità chiave. Con Funzioni di Azure, è possibile creare facilmente applicazioni serverless basate su eventi. I servizi Redis di Azure (Azure Managed Redis e cache di Azure per 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 Funzioni di Azure, 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 Funzioni di Azure 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 | cache di Azure per Redis (Basic, Standard, Premium, Enterprise, Enterprise Flash) | Azure Managed Redis (Memory Optimized, Basic, Compute Optimized, Flash Optimized) |
|---|---|---|
| Publicazione/Sottoscrizione | Sì | Sì |
| Elenchi | Sì | Sì |
| Flussi | Sì | Sì |
| Bindings | Sì | Sì |
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 Guida per l'esecuzione di Funzioni di Azure 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 version valore di indica all'host di Funzioni di [4.0.0, 5.0.0) usare una versione del bundle che è almeno 4.0.0 ma minore di 5.0.0, che include tutte le versioni potenziali di 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 dei bundle di estensioni. Per altre informazioni, vedere Bundle di estensioni di Funzioni di Azure.
Aggiornare i pacchetti
Aggiungere il pacchetto Di annotazioni Java Redis di Funzioni di Azure al progetto aggiornando il pom.xml file per aggiungere questa dipendenza:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-redis</artifactId>
<version>1.0.0</version>
</dependency>
Stringa di connessione di Redis
I trigger e le associazioni di Azure Redis hanno una proprietà obbligatoria che indica l'impostazione dell'applicazione o il nome della raccolta che contiene informazioni di connessione alla cache. Il trigger o l'associazione Redis cerca una variabile ambientale che contiene il stringa di connessione con il nome passato al Connection parametro.
Nello sviluppo locale, Connection può essere definito usando il file local.settings.json . Quando viene distribuita in Azure, è possibile usare le impostazioni dell'applicazione.
Quando ci si connette a un'istanza della cache con una funzione di Azure, è possibile usare uno di questi tipi di connessioni nelle distribuzioni:
- Identità gestita assegnata dall'utente
- Identità gestita assegnata dal sistema
- Stringa di connessione
- Entità servizio
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 Usare Microsoft Entra ID per l'autenticazione della cache.
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 gestito di Azure
- cache di Azure per Redis
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"