Python ile DigitalOcean’da Droplet Yaratmak

Neslihan Şirin Saygılı —  23 Şubat 2015 — 2 Comments

Bir önceki yazımda Amazon’un bulut bilişim servislerinden bahsetmiştim. Bu yazıda ise bir diğer bulut bilişim hizmeti sağlayıcısı olan DigitalOcean[1]’dan bahsedeceğim. Oldukça basit ve anlaşılır bir web arayüzünden istediğiniz gibi işlemler yapabilirsiniz ancak daha otomatize şekilde çalışmak isterseniz DigitalOcean API’ye elinizi bulaştırmanız gerekmektedir. DO bir sure önce API V2’yi duyursa da hala API V1’e destek veriyor. Bu yazıda inceleyeceğimiz betik API V1 üzerinde çalışmaktadır. API’ye http istekleri yapmak için Python’da requests [2] kütüphanesini kullanmayı uygun buldum.

İlk olarak API’ye bize yeni bir makine yaratması için yapacağımız isteği oluşturan fonksiyonu inceleyelim.

Bu http isteği içerisindeki parametreler, client_id ve api_key API’ye erişim için gereken yetkilendirme araçlarıdır, name makineye vereceğimiz isimdir, size yaratılacak makinenin boyutuyla ilgili parametredir, image_id yaratılacak makinenin içinde çalışacak olan işletim sisteminin (ve eğer istenirse üzerine eklenen programların) DigitalOcean web servislerindeki kayıt numarası, region_id ise bu makinenin fiziksel olarak dünyanın neresinde bulunduğuna dair verimerkezi bölge bilgisidir ve son olarak ssh_key_ids ise yaratılacak olan makineye erişmek için kullanılacak ssh anahtarların kayıt numarasıdır.

Amacımız çok sayıda makine (bunlara droplet ismi veriliyor) ayağa kaldırmak, bunun için isteğimizi bir for döngüsü içerisinde tekrarlayabiliriz.

hala döngü içerisindeyken API’den gelen cevabı jsona dönüştürüyoruz.

gelen cevabın statusüne göre işlem başarılı ya da başarısız diye logluyoruz.

Son kısımda yine main ve droplet yaratan fonksiyonun çağrısını görebiliriz.

Tüm betik dosyasını kesintisiz halde görmek istersek, şöyle olacaktır;

Kaynaklar
1. https://www.digitalocean.com/, en son 23.02.2015 tarihinde erişildi.
2. http://docs.python-requests.org/en/latest/, en son 23.02.2015 tarihinde erişildi.

Neslihan Şirin Saygılı

Posts

İTÜ Bilgisayar Mühendisliği bölümünden mezunum, şimdi doktora öğrencisiyim. Temel olarak ilgilendiğim alanlar bilgi edinilmesi (information retrieval), verinin işlenmesi (metin sınıflandırma, yazar tespiti) ve bu verinin bilgiye dönüştürülmesidir. Python, Java, PHP, Ubuntu, HTTP yığını, Linux-Apache-MySQL üçlüsü gündelik olarak kullandığım araçlardır. Prisync'in kurucu yazılımcılarından biriyim.

2 responses to Python ile DigitalOcean’da Droplet Yaratmak

  1. Eline saglik guzel yazi olmus.
    Ek olarak bu islemler icin https://github.com/koalalorenzo/python-digitalocean Paketi de baya tercih ediliyor.

Yorum yapmak için