Terraform Yerleşik İşlevleri
Yapılandırmalarınızı geliştirmek için dize işleme, liste işleme, tür dönüştürme ve daha fazlasına yönelik Terraform'un çok çeşitli yerleşik işlevlerini keşfedin.
Terraform Yerleşik İşlevleri, CoddyKit'te ücretsiz bir Terraform Infrastructure as Code dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Terraform Infrastructure as Code öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Terraform Infrastructure as Code kursu toplamda 4 dersten oluşur.
Dinamik Yapılandırmaların Kilidini Açın
Terraform'un yerleşik işlevleri, değerleri doğrudan yapılandırma dosyalarınız içinde işlemenize ve dönüştürmenize yardımcı olan küçük programlar gibidir.
Dinamik, yeniden kullanılabilir ve daha akıllı altyapı tanımları oluşturmanıza olanak tanırlar.
- Verileri dönüştürün: Karakter dizelerini, sayıları veya listeleri değiştirin.
- Değerleri hesaplayın: Hesaplamalar veya mantıksal denetimler gerçekleştirin.
- Dinamik içerik oluşturun: Kaynak adlarını veya etiketlerini anında oluşturun.
Metin Dönüşümleri
Karakter dizisi işlevleri, metinleri değiştirmek için gereklidir. Temel işlevlerden ikisi olan upper() ve lower(), bir karakter dizisinin büyük-küçük harf kullanımını değiştirir.
Bu işlevler, adlandırma kurallarını standartlaştırmak veya belirli gereksinimleri karşılaştırmak için kullanışlıdır.
variable "region_code" {
type = string
default = "us-east-1"
}
output "upper_region" {
value = upper(var.region_code)
}
output "lower_example" {
value = lower("AWS_REGION")
}Karakter Dizelerini Birleştirme ve Bölme
join() işlevi, bir listede bulunan öğeleri belirtilen ayırıcıyı kullanarak tek bir karakter dizisinde birleştirir. Buna karşılık split(), bir karakter dizisini ayırıcıya göre alt karakter dizilerinden oluşan bir listeye böler.
Bunlar, verileri ayrıştırmak veya karmaşık adlar oluşturmak için güçlü işlevlerdir.
variable "tags_list" {
type = list(string)
default = ["web", "frontend", "prod"]
}
output "joined_tags" {
value = join(",", var.tags_list)
}
output "split_string" {
value = split("-", "server-01-app")
}Yapılandırmalarınızda Matematik
Sayısal işlevler, temel matematiksel işlemleri gerçekleştirmenize yardımcı olur. ceil() yukarı yuvarlar, floor() aşağı yuvarlar, min()/max() ise bir kümedeki en küçük ve en büyük değerleri bulur.
Kaynak sayılarını veya boyutlarını hesaplamak için çok kullanışlıdır.
variable "instance_ratio" {
type = number
default = 3.7
}
output "rounded_up_instances" {
value = ceil(var.instance_ratio)
}
output "rounded_down_instances" {
value = floor(var.instance_ratio)
}
output "smallest_val" {
value = min(10, 5, 12, 8)
}Listelerle Çalışma
Listeler, öğelerin sıralı koleksiyonlarıdır. length() gibi işlevler bir listede kaç öğe bulunduğunu belirtir; element() ise sayısal dizinini kullanarak bir öğeyi getirir (dizin 0'dan başlar).
Yineleme yapmak veya belirli öğeleri seçmek için kullanışlıdır.
variable "zones" {
type = list(string)
default = ["us-east-1a", "us-east-1b", "us-east-1c"]
}
output "num_zones" {
value = length(var.zones)
}
output "first_zone" {
value = element(var.zones, 0)
}Anahtar-Değer Verilerini İşleme
Eşlemeler, verileri anahtar-değer çiftleri olarak depolar. lookup(), verilen bir anahtarın değerini getirir ve anahtar bulunamazsa isteğe bağlı bir varsayılan değer kullanabilir. merge() ise birden çok eşlemeyi tek bir eşlemede birleştirir.
Üst verileri veya kaynak etiketlerini yönetmek için idealdir.
variable "server_info" {
type = map(string)
default = {
name = "backend-server"
env = "dev"
}
}
variable "additional_info" {
type = map(string)
default = {
owner = "team-a"
}
}
output "server_name" {
value = lookup(var.server_info, "name", "unknown")
}
output "merged_map" {
value = merge(var.server_info, var.additional_info)
}Veri Türlerini Değiştirme
Bazen bir kaynak bağımsız değişkeninin belirli bir veri türünde olması gerekir (örneğin sayı yerine dize). tostring() ve tonumber() gibi tür dönüştürme işlevleri bunu yapmanıza yardımcı olur.
Yapılandırmanızın farklı bölümleri arasındaki uyumluluğu sağlar.
variable "port_number" {
type = number
default = 8080
}
output "port_as_string" {
value = tostring(var.port_number)
}
output "string_to_number" {
value = tonumber("123") + 7
}İşlevleri Uygulama
Karmaşık veri dönüşümleri gerçekleştirmek için yerleşik işlevler birleştirilebilir veya iç içe kullanılabilir. Bu örnek, değişkenleri birleştirerek, değişkenlerden birini büyük harfe dönüştürerek ve türlerin doğru olmasını sağlayarak bir kaynak adı oluşturur.
variable "env" {
type = string
default = "dev"
}
variable "service" {
type = string
default = "app"
}
variable "instance_id" {
type = number
default = 1
}
output "resource_name" {
value = join("-", [
upper(var.env),
var.service,
tostring(var.instance_id)
])
}En İyi Uygulamalar
İşlevleri kullanırken anlaşılır ve sürdürülebilir bir yapı hedefleyin:
- Okunabilir tutun: Kodu anlamayı zorlaştırıyorsa işlevleri gereğinden fazla iç içe kullanmayın.
- Değişkenleri kullanın: Daha iyi okunabilirlik için karmaşık ara sonuçları yerel değişkenlerde saklayın.
terraform consoleile test edin: Yapılandırmanıza eklemeden önce çıktısını görmek için işlevleri hızlıca deneyin.
İşlev Görevi
Terraform'un yerleşik işlevlerinin birlikte nasıl çalıştığını anlayıp anlamadığınızı test edelim.
İşlevlerde Ustalaştınız!
Terraform'un güçlü yerleşik işlevlerini keşfettiniz!
Yapılandırmalarınızı dinamik ve uyarlanabilir hâle getirmek için dize, sayısal, koleksiyon ve tür dönüştürme işlevlerini nasıl kullanacağınızı artık biliyorsunuz. Bu araçlar, verimli ve yeniden kullanılabilir Kod Olarak Altyapı yazmak için çok önemlidir.
Sıkça Sorulan Sorular
“Terraform Yerleşik İşlevleri” dersi ücretsiz mi?
Evet — “Terraform Yerleşik İşlevleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Terraform Infrastructure as Code kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Terraform Infrastructure as Code kursu toplamda 4 dersten oluşur.
“Terraform Yerleşik İşlevleri” dersinde ne öğreneceğim?
Yapılandırmalarınızı geliştirmek için dize işleme, liste işleme, tür dönüştürme ve daha fazlasına yönelik Terraform'un çok çeşitli yerleşik işlevlerini keşfedin. Terraform Infrastructure as Code ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Terraform Infrastructure as Code öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Terraform Infrastructure as Code, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Terraform Yerleşik İşlevleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Terraform Infrastructure as Code dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Terraform Infrastructure as Code dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- `for_each` ve `count` ile Döngüleri Kullanma
- Terraform Yerleşik İşlevleri
- Koşullu İfadeler ve Splat İfadeleri
- İç İçe Yapılandırma için Dinamik Bloklar