Panoramica delle funzioni di Azure per Azure Redis
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 fornire 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 | Livello di supporto |
---|---|---|
Attivare i messaggi secondari di Pubblicazione Redis | Trigger | Anteprima |
Trigger in elenchi Redis | Trigger | Anteprima |
Trigger nei flussi Redis | Trigger | Anteprima |
Leggere un valore memorizzato nella cache | Input | Anteprima |
Scrivere valori nella cache | Output | Anteprima |
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
Creare un progetto di funzione Java. È possibile usare Maven:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
Aggiungere il bundle di estensione aggiungendo o sostituendo il codice seguente nel file host.json :
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Avviso
L'estensione Redis è attualmente disponibile solo in una versione di anteprima del bundle.
Aggiungere la libreria Java per le associazioni Redis al
pom.xml
file:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
Aggiungere il bundle di estensione aggiungendo o sostituendo il codice seguente nel file host.json :
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Avviso
L'estensione Redis è attualmente disponibile solo in una versione di anteprima del bundle.
Stringa di connessione di Redis
I trigger e le associazioni di Azure Redis hanno una proprietà obbligatoria per la cache stringa di connessione. Il stringa di connessione è disponibile nel menu Chiavi di accesso nel portale di Azure Managed Redis o cache di Azure per Redis. 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 tre tipi di connessioni nelle distribuzioni: stringa di connessione, identità gestita assegnata dal sistema e identità gestita assegnata dall'utente
Per lo sviluppo locale, è anche possibile usare i segreti dell'entità servizio.
appsettings
Usare per configurare ognuno dei tipi di autenticazione client seguenti, presupponendo che sia Connection
stato impostato su Redis
nella funzione .
Stringa di connessione
"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."
Identità gestita assegnata dal sistema
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>"
Identità gestita assegnata dall'utente
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Segreto dell'entità servizio
Le connessioni che usano segreti dell'entità servizio sono disponibili solo durante lo sviluppo locale.
"Redis:redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"