Sdílet prostřednictvím


Rychlý start: Použití Azure Cache for Redis s Go

V tomto článku se dozvíte, jak vytvořit rozhraní REST API v Go, které ukládá a načítá informace o uživatelích zálohované datovou strukturou HASH ve službě Azure Cache for Redis.

Přeskočit na kód na GitHubu

Pokud chcete přeskočit rovnou ke kódu, podívejte se na rychlý start Go na GitHubu.

Požadavky

Vytvoření instance Azure Cache for Redis

  1. Na webu Azure Portal vyhledejte a vyberte Azure Cache for Redis.

  2. Na stránce Azure Cache for Redis vyberte Vytvořit>Azure Cache for Redis.

  3. Na kartě Základy na stránce Nová mezipaměť Redis nakonfigurujte následující nastavení:

    • Předplatné: Vyberte předplatné, které chcete použít.
    • Skupina prostředků: Vyberte skupinu prostředků nebo vyberte Vytvořit novou a zadejte název nové skupiny prostředků. Když umístíte všechny prostředky aplikace do stejné skupiny prostředků, můžete je snadno spravovat nebo odstraňovat společně.
    • Název: Zadejte název mezipaměti, který je v oblasti jedinečný. Název musí:
      • Musí být řetězec 1 až 63 znaků.
      • Obsahují jenom číslice, písmena a pomlčky.
      • Začněte a končit číslem nebo písmenem.
      • Neobsahuje po sobě jdoucí pomlčky.
    • Oblast: Vyberte oblast Azure poblíž jiných služeb, které používají vaši mezipaměť.
    • Skladová položka mezipaměti: Výběrem skladové položky určete dostupné velikosti, výkon a funkce mezipaměti.
    • Velikost mezipaměti: Vyberte velikost mezipaměti. Další informace najdete v přehledu služby Azure Cache for Redis.

    Snímek obrazovky znázorňující kartu Základy na stránce Nová mezipaměť Redis

  4. Vyberte kartu Sítě nebo vyberte Další: Sítě.

  5. Na kartě Sítě vyberte metodu připojení, která se má použít pro mezipaměť. Privátní koncový bod se doporučuje pro zabezpečení. Pokud vyberete privátní koncový bod, vyberte Přidat privátní koncový bod a vytvořte privátní koncový bod.

  6. Vyberte kartu Upřesnit nebo vyberte Další: Upřesnit.

  7. V podokně Upřesnit nakonfigurujte následující možnosti:

    • Vyberte ověřování Microsoft Entra nebo ověřování přístupových klíčů. Ověřování Microsoft Entra je ve výchozím nastavení povolené.
    • Zvolte, jestli chcete povolit port, který není tls.
    • Pro mezipaměť Premium můžete nakonfigurovat nebo zakázat zóny dostupnosti. Po vytvoření mezipaměti nemůžete zakázat zóny dostupnosti. Pro standardní mezipaměť se zóny dostupnosti přidělují automaticky. Zóny dostupnosti nejsou dostupné pro skladovou položku Basic.
    • Pro mezipaměť Premium nakonfigurujte nastavení počtu replik, seskupení, počtu shardů, systémem přiřazené spravované identity a trvalosti dat.

    Následující obrázek znázorňuje kartu Upřesnit pro skladovou položku Standard.

    Snímek obrazovky zobrazující pokročilé podokno mezipaměti úrovně SKU Standard

    Důležité

    Pokud je to možné, použijte ID Microsoft Entra se spravovanými identitami k autorizaci požadavků na vaši mezipaměť. Autorizace pomocí ID Microsoft Entra a spravované identity poskytuje lepší zabezpečení a je snazší ji používat než autorizaci sdíleného přístupového klíče. Další informace o používání spravovaných identit s mezipamětí naleznete v tématu Použití MICROSOFT Entra ID pro ověřování mezipaměti.

  8. Volitelně můžete vybrat kartu Značky nebo vybrat Další: Značky a zadat názvy a hodnoty značek pro kategorizaci prostředků mezipaměti.

  9. Vyberte Zkontrolovat a vytvořit a po ověření vyberte Vytvořit.

Nasazení nové mezipaměti trvá několik minut. Průběh nasazení můžete monitorovat na portálu na stránce Azure Cache for Redis. Když se stav mezipaměti zobrazí jako Spuštěno, je mezipaměť připravená k použití.

Načtení názvu hostitele, portů a přístupových klíčů z webu Azure Portal

K připojení serveru Azure Cache for Redis potřebuje klient mezipaměti název hostitele, porty a klíč pro mezipaměť. Někteří klienti mohou tyto položky označovat trochu odlišnými názvy. Název hostitele, porty a klíče můžete získat z webu Azure Portal.

  • Pokud chcete získat název hostitele a porty pro vaši mezipaměť, vyberte v nabídce Prostředek přehled. Název hostitele je ve formátu <DNS name>.redis.cache.windows.net.

    Snímek obrazovky znázorňující vlastnosti Azure Cache for Redis

  • Přístupové klíče získáte tak, že v nabídce Prostředek vyberete Možnost Ověřování. Pak vyberte kartu Přístupové klávesy .

    Snímek obrazovky znázorňující přístupové klíče Azure Cache for Redis

Kontrola kódu (volitelné)

Pokud se chcete dozvědět, jak kód funguje, můžete zkontrolovat následující fragmenty kódu. V opačném případě pokračujte spuštěním aplikace.

Opensourcová knihovna go-redis se používá k interakci se službou Azure Cache for Redis.

Funkce main se spustí čtením názvu hostitele a hesla (přístupového klíče) pro instanci Azure Cache for Redis.

func main() {
    redisHost := os.Getenv("REDIS_HOST")
    redisPassword := os.Getenv("REDIS_PASSWORD")
...

Pak navážeme připojení ke službě Azure Cache for Redis. Používáme tls. Config--Azure Cache for Redis přijímá pouze zabezpečená připojení s protokolem [TLS 1.2 jako minimální požadovaná verze]/azure-cache-for-redis/cache-remove-tls-10-11.md).

...
op := &redis.Options{Addr: redisHost, Password: redisPassword, TLSConfig: &tls.Config{MinVersion: tls.VersionTLS12}}
client := redis.NewClient(op)

ctx := context.Background()
err := client.Ping(ctx).Err()
if err != nil {
    log.Fatalf("failed to connect with redis instance at %s - %v", redisHost, err)
}
...

Pokud je připojení úspěšné, obslužné rutiny HTTP jsou nakonfigurovány pro zpracování POST a GET operace a server HTTP se spustí.

Poznámka:

Gorilla mux knihovna se používá ke směrování (i když to není nezbytně nutné a mohli jsme se dostat pryč pomocí standardní knihovny pro tuto ukázkovou aplikaci).

uh := userHandler{client: client}

router := mux.NewRouter()
router.HandleFunc("/users/", uh.createUser).Methods(http.MethodPost)
router.HandleFunc("/users/{userid}", uh.getUser).Methods(http.MethodGet)

log.Fatal(http.ListenAndServe(":8080", router))

userHandler struktura zapouzdřuje redis. Klient, který je používán createUsermetodami , getUser – kód pro tyto metody není zahrnut pro stručnost.

  • createUser: přijímá datovou část JSON (obsahující informace o uživateli) a uloží ji jako HASH mezipaměť Azure Cache for Redis.
  • getUser: Načte informace o uživateli nebo HASH vrátí odpověď HTTP 404 , pokud nebyla nalezena.
type userHandler struct {
    client *redis.Client
}
...

func (uh userHandler) createUser(rw http.ResponseWriter, r *http.Request) {
    // details omitted
}
...

func (uh userHandler) getUser(rw http.ResponseWriter, r *http.Request) {
    // details omitted
}

Klonování ukázkové aplikace

Začněte klonováním aplikace z GitHubu.

  1. Otevřete příkazový řádek a vytvořte novou složku s názvem git-samples.

    md "C:\git-samples"
    
  2. Otevřete okno terminálu Git, například git bash. cd Pomocí příkazu přejděte do nové složky, do které chcete naklonovat ukázkovou aplikaci.

    cd "C:\git-samples"
    
  3. Ukázkové úložiště naklonujete spuštěním následujícího příkazu. Tento příkaz vytvoří na vašem počítači kopii ukázkové aplikace.

    git clone https://github.com/Azure-Samples/azure-redis-cache-go-quickstart.git
    

Spuštění aplikace

Aplikace přijímá možnosti připojení a přihlašovací údaje ve formě proměnných prostředí.

  1. Načtení názvu hostitele a přístupových klíčů (dostupných prostřednictvím přístupových klíčů) pro instanci Azure Cache for Redis na webu Azure Portal

  2. Nastavte je na odpovídající proměnné prostředí:

    set REDIS_HOST=<Host name>:<port> (e.g. <name of cache>.redis.cache.windows.net:6380)
    set REDIS_PASSWORD=<Primary Access Key>
    
  3. V okně terminálu přejděte na správnou složku. Například:

    cd "C:\git-samples\azure-redis-cache-go-quickstart"
    
  4. V terminálu spusťte následující příkaz a spusťte aplikaci.

    go run main.go
    

Server HTTP se spustí na portu 8080.

Otestování aplikace

  1. Vytvořte několik uživatelských položek. Následující příklad používá curl:

    curl -i -X POST -d '{"id":"1","name":"foo1", "email":"foo1@baz.com"}' localhost:8080/users/
    curl -i -X POST -d '{"id":"2","name":"foo2", "email":"foo2@baz.com"}' localhost:8080/users/
    curl -i -X POST -d '{"id":"3","name":"foo3", "email":"foo3@baz.com"}' localhost:8080/users/
    
  2. Načtení existujícího uživatele s jeho id:

    curl -i localhost:8080/users/1
    

    Měla by se zobrazit odpověď JSON, například:

    {
        "email": "foo1@bar",
        "id": "1",
        "name": "foo1"
    }
    
  3. Pokud se pokusíte načíst uživatele, který neexistuje, získáte HTTP 404. Například:

    curl -i localhost:8080/users/100
    
    #response
    
    HTTP/1.1 404 Not Found
    Date: Fri, 08 Jan 2021 13:43:39 GMT
    Content-Length: 0
    

Vyčistěte zdroje

Pokud chcete dál používat prostředky, které jste vytvořili v tomto článku, ponechte skupinu prostředků.

Jinak pokud jste s prostředky hotovi, můžete odstranit skupinu prostředků Azure, kterou jste vytvořili, abyste se vyhnuli poplatkům.

Důležité

Odstranění skupiny prostředků je nevratné. Při odstranění skupiny prostředků se všechny prostředky, které obsahuje, trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo jednotlivé prostředky. Pokud jste prostředky vytvořili v existující skupině prostředků, která obsahuje prostředky, které chcete zachovat, můžete každý prostředek odstranit jednotlivě místo odstranění skupiny prostředků.

Odstranit skupinu prostředků

  1. Přihlaste se k portálu Azure Portal a potom vyberte Skupiny prostředků.

  2. Vyberte skupinu prostředků, kterou chcete odstranit.

    Pokud existuje mnoho skupin prostředků, použijte filtr pro jakékoli pole... zadejte název skupiny prostředků, kterou jste vytvořili pro tento článek. V seznamu výsledků vyberte skupinu prostředků.

    Snímek obrazovky se seznamem skupin prostředků, které se mají odstranit v pracovním podokně

  3. Vyberte odstranit skupinu zdrojů.

  4. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků pro potvrzení a poté vyberte Odstranit.

    Snímek obrazovky s formulářem, který vyžaduje název prostředku k potvrzení odstranění.

Po chvíli se skupina prostředků včetně všech prostředků, které obsahuje, odstraní.

Další kroky

V tomto rychlém startu jste zjistili, jak začít používat Go s Azure Cache for Redis. Nakonfigurovali jste a spustili jednoduchou aplikaci založenou na rozhraní REST API pro vytvoření a získání informací o uživatelích založených na datové struktuře Redis HASH .