Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
- Předplatné Azure – vytvoření bezplatného předplatného
- Go (nejlépe verze 1.13 nebo vyšší)
- Lotr
- Klient HTTP, jako je curl
Vytvoření instance Azure Cache for Redis
Na webu Azure Portal vyhledejte a vyberte Azure Cache for Redis.
Na stránce Azure Cache for Redis vyberte Vytvořit>Azure Cache for Redis.
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.
Vyberte kartu Sítě nebo vyberte Další: Sítě.
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.
Vyberte kartu Upřesnit nebo vyberte Další: Upřesnit.
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.
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.
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.
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
.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 .
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 createUser
metodami , 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 jakoHASH
mezipaměť Azure Cache for Redis. -
getUser
: Načte informace o uživateli neboHASH
vrátí odpověď HTTP404
, 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.
Otevřete příkazový řádek a vytvořte novou složku s názvem
git-samples
.md "C:\git-samples"
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"
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í.
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>
V okně terminálu přejděte na správnou složku. Například:
cd "C:\git-samples\azure-redis-cache-go-quickstart"
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
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/
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" }
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ů
Přihlaste se k portálu Azure Portal a potom vyberte Skupiny prostředků.
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ů.
Vyberte odstranit skupinu zdrojů.
Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků pro potvrzení a poté vyberte Odstranit.
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
.