Megosztás a következőn keresztül:


Az Azure Cache for Redis integrálása a Service Connector használatával

Az Azure Cache for Redis szolgáltatást a Service Connector használatával csatlakoztathatja más felhőszolgáltatásokhoz. Ez a cikk a támogatott hitelesítési módszereket és ügyfeleket ismerteti, és mintakódot biztosít. Emellett a szolgáltatáskapcsolat létrehozásakor megkapott alapértelmezett környezeti változóneveket és értékeket (vagy Spring Boot-konfigurációt) is megmutatja.

Támogatott számítási szolgáltatások

A Service Connector használatával a következő számítási szolgáltatásokat csatlakoztathatja az Azure Cache for Redishez:

  • Azure App Service
  • Azure Container-alkalmazások
  • Azure Functions
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

Támogatott hitelesítés és ügyféltípusok

Az alábbi táblázat azt mutatja be, hogy a hitelesítési módszerek és az ügyfelek mely kombinációi támogatottak a számítási szolgáltatásnak az Azure Cache for Redishez való csatlakoztatásához a Service Connector használatával. Az "Igen" azt jelenti, hogy a kombináció támogatott. A "Nem" azt jelenti, hogy nem támogatott.

Ügyfél típusa Rendszer által hozzárendelt felügyelt identitás Felhasználó által hozzárendelt felügyelt identitás Titkos / kapcsolati sztring Szolgáltatásnév
.NET Igen Igen Igen Igen
Go Nem Nem Igen Nem
Java Igen Igen Igen Igen
Java – Spring Boot Nem Nem Igen Nem
Node.js Igen Igen Igen Igen
Python Igen Igen Igen Igen
Egyik sem Igen Igen Igen Igen

A Go és a Java – Spring Boot kivételével minden ügyféltípus használhatja a táblázatban hivatkozott hitelesítési módszerek bármelyikét az Azure Cache for Redishez való csatlakozáshoz a Service Connector használatával. A Go és a Java egyetlen támogatott hitelesítési módszere – a Spring Boot titkos / kapcsolati sztring vagy szolgáltatásnév.

Alapértelmezett környezeti változónevek vagy alkalmazástulajdonságok és mintakód

A számítási szolgáltatások Redis-kiszolgálóhoz való csatlakoztatásához használja az alábbi környezeti változóneveket és alkalmazástulajdonságokat. Az elnevezési konvenciókról a Service Connector belsős cikkében olvashat bővebben.

Rendszer által hozzárendelt felügyelt identitás

Alapértelmezett környezeti változó neve Leírás Mintaérték
AZURE_REDIS_HOST Redis-végpont <RedisName>.redis.cache.windows.net

Mintakód

Az alábbi lépések és kód bemutatja, hogyan használhat rendszer által hozzárendelt felügyelt identitást a Redishez való csatlakozáshoz.

  1. Telepítse a függőségeket.

    dotnet add package Microsoft.Azure.StackExchangeRedis --version 3.2.0
    
  2. Adja hozzá a hitelesítési logikát a Service Connector által beállított környezeti változókkal. További információt a Microsoft.Azure.StackExchangeRedis bővítményben talál.

    using StackExchange.Redis;
    var cacheHostName = Environment.GetEnvironmentVariable("AZURE_REDIS_HOST");
    var configurationOptions = ConfigurationOptions.Parse($"{cacheHostName}:6380");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // For system-assigned identity.
    // await configurationOptions.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
    
    // For user-assigned identity.
    // var managedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTID");
    // await configurationOptions.ConfigureForAzureWithUserAssignedManagedIdentityAsync(managedIdentityClientId);
    
    // Service principal secret.
    // var clientId = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTID");
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_REDIS_TENANTID");
    // var secret = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTSECRET");
    // await configurationOptions.ConfigureForAzureWithServicePrincipalAsync(clientId, tenantId, secret);
    
    
    var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
    

Felhasználó által hozzárendelt felügyelt identitás

Alapértelmezett környezeti változó neve Leírás Mintaérték
AZURE_REDIS_HOST Redis-végpont <RedisName>.redis.cache.windows.net
AZURE_REDIS_CLIENTID Felügyelt identitás ügyfélazonosítója <client-ID>

Mintakód

Az alábbi lépések és kód bemutatja, hogyan használhat felhasználó által hozzárendelt felügyelt identitást a Redishez való csatlakozáshoz.

  1. Telepítse a függőségeket.

    dotnet add package Microsoft.Azure.StackExchangeRedis --version 3.2.0
    
  2. Adja hozzá a hitelesítési logikát a Service Connector által beállított környezeti változókkal. További információt a Microsoft.Azure.StackExchangeRedis bővítményben talál.

    using StackExchange.Redis;
    var cacheHostName = Environment.GetEnvironmentVariable("AZURE_REDIS_HOST");
    var configurationOptions = ConfigurationOptions.Parse($"{cacheHostName}:6380");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // For system-assigned identity.
    // await configurationOptions.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
    
    // For user-assigned identity.
    // var managedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTID");
    // await configurationOptions.ConfigureForAzureWithUserAssignedManagedIdentityAsync(managedIdentityClientId);
    
    // Service principal secret.
    // var clientId = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTID");
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_REDIS_TENANTID");
    // var secret = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTSECRET");
    // await configurationOptions.ConfigureForAzureWithServicePrincipalAsync(clientId, tenantId, secret);
    
    
    var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
    

Kapcsolati sztring

Figyelmeztetés

Javasoljuk, hogy az elérhető legbiztonságosabb hitelesítési folyamatot használja. Az itt ismertetett hitelesítési folyamat nagyon nagy megbízhatóságot igényel az alkalmazásban, és olyan kockázatokat hordoz, amelyek más folyamatokban nem jelennek meg. Ezt a folyamatot csak akkor érdemes használni, ha a biztonságosabb folyamatok, például a felügyelt identitások nem életképesek.

Alapértelmezett környezeti változó neve Leírás Példaérték
AZURE_REDIS_CONNECTIONSTRING StackExchange.Rediskapcsolati sztring <redis-server-name>.redis.cache.windows.net:6380,password=<redis-key>,ssl=True,defaultDatabase=0

Mintakód

Az alábbi lépések és kód bemutatja, hogyan használható kapcsolati sztring az Azure Cache for Redishez való csatlakozáshoz.

  1. Telepítse a függőségeket.

    dotnet add package StackExchange.Redis --version 2.6.122
    
  2. Kérje le a kapcsolati sztring a Service Connector által hozzáadott környezeti változóból.

    using StackExchange.Redis;
    var connectionString = Environment.GetEnvironmentVariable("AZURE_REDIS_CONNECTIONSTRING");
    var _redisConnection = await RedisConnection.InitializeAsync(connectionString: connectionString);
    

Szolgáltatásnév

Alapértelmezett környezeti változó neve Leírás Mintaérték
AZURE_REDIS_HOST Redis-végpont <RedisName>.redis.cache.windows.net
AZURE_REDIS_CLIENTID A szolgáltatásnév ügyfélazonosítója <client-ID>
AZURE_REDIS_CLIENTSECRET A szolgáltatásnév titkos kódja <client-secret>
AZURE_REDIS_TENANTID A szolgáltatásnév bérlőazonosítója <tenant-id>

Mintakód

Az alábbi lépések és kód bemutatja, hogyan csatlakozhat a Redishez szolgáltatásnévvel.

  1. Telepítse a függőségeket.

    dotnet add package Microsoft.Azure.StackExchangeRedis --version 3.2.0
    
  2. Adja hozzá a hitelesítési logikát a Service Connector által beállított környezeti változókkal. További információt a Microsoft.Azure.StackExchangeRedis bővítményben talál.

    using StackExchange.Redis;
    var cacheHostName = Environment.GetEnvironmentVariable("AZURE_REDIS_HOST");
    var configurationOptions = ConfigurationOptions.Parse($"{cacheHostName}:6380");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // For system-assigned identity.
    // await configurationOptions.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
    
    // For user-assigned identity.
    // var managedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTID");
    // await configurationOptions.ConfigureForAzureWithUserAssignedManagedIdentityAsync(managedIdentityClientId);
    
    // Service principal secret.
    // var clientId = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTID");
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_REDIS_TENANTID");
    // var secret = Environment.GetEnvironmentVariable("AZURE_REDIS_CLIENTSECRET");
    // await configurationOptions.ConfigureForAzureWithServicePrincipalAsync(clientId, tenantId, secret);
    
    
    var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions);