Hızlı Başlangıç: Visual Studio Code kullanarak Azure'da Go veya Rust işlevi Visual Studio Code

Bu makalede, HTTP isteklerine Visual Studio Code özel bir işleyici işlevi oluşturmak için Visual Studio Code'i kullanırsiniz. Kodu yerel olarak test ettikten sonra sunucusuz ortamına dağıtabilirsiniz Azure İşlevleri.

Özel işleyiciler, http sunucusu işlemi çalıştırarak herhangi bir dilde veya çalışma zamanında işlev oluşturmak için kullanılabilir. Bu makale hem Go hem de Rust'i destekler.

Bu hızlı başlangıç tamamladıktan sonra Azure hesabınıza birkaç ABD doları veya daha düşük bir maliyetle sahip oluruz.

Ortamınızı yapılandırma

Başlamadan önce aşağıdaki gereksinimlerin karşı olduğundan emin olun:

Yerel projenizi oluşturma

Bu bölümde, özel işleyiciler Visual Studio Code yerel bir Azure İşlevleri oluşturmak için Azure İşlevleri kullanın. Bu makalenin ilerleyen bölümlerinde işlev kodunu Azure'da yayımlayacaksınız.

  1. Etkinlik çubuğundan Azure simgesini seçtikten sonra Azure: İşlevler alanında Yeni proje oluştur... simgesini seçin.

    Yeni proje oluştur'u seçin

  2. Projenizin çalışma alanı için bir dizin konumu seçtikten sonra Seç'i belirleyin.

    Not

    Bu adımlar bir çalışma alanının dışında tamamlanacak şekilde tasarlanmıştır. Bu örnekte, bir çalışma alanının parçası olan bir proje klasörünü seçmeyin.

  3. İstemlerde aşağıdaki bilgileri sağlayın:

    • İşlev projeniz için bir dil seçin: Custom öğesini seçin.

    • Projenizin ilk işlevi için bir şablon seçin: HTTP trigger öğesini seçin.

    • Bir işlev adı sağlayın: HttpExample yazın.

    • Yetkilendirme düzeyi: Herkesin Anonymous işlev uç noktanızı çağırmalarını sağlayan 'ı seçin. Yetkilendirme düzeyi hakkında bilgi edinmek için bkz. Yetkilendirme anahtarları.

    • Projenizi nasıl açmak istediğinizi seçin: Add to workspace öğesini seçin.

  4. Bu bilgileri kullanarak Visual Studio Code HTTP tetikleyici işleviyle Azure İşlevleri bir proje oluşturulur. Yerel proje dosyalarını Gezgin'de görüntüebilirsiniz. Oluşturulan dosyalar hakkında daha fazla bilgi edinmek için bkz. Oluşturulan proje dosyaları.

İşlevini oluşturma ve derleme

HttpExample klasöründeki function.json dosyası bir HTTP tetikleyici işlevi belirtir. İşlevi bir işleyici ekleyerek ve yürütülebilir bir dosyada derlemekle tamamlarsiniz.

  1. Yeni bir dosya oluşturmak için Ctrl + N ( macOS üzerindeCmd + N) tuşlarına basın. İşlev uygulaması kökünde handler.go olarak kaydedin (host.json ile aynı klasörde).

  2. handler.go dosyasına aşağıdaki kodu ekleyin ve dosyayı kaydedin. Bu, Go özel işleyicinizdir.

    package main
    
    import (
        "fmt"
        "log"
        "net/http"
        "os"
    )
    
    func helloHandler(w http.ResponseWriter, r *http.Request) {
        message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n"
        name := r.URL.Query().Get("name")
        if name != "" {
            message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name)
        }
        fmt.Fprint(w, message)
    }
    
    func main() {
        listenAddr := ":8080"
        if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok {
            listenAddr = ":" + val
        }
        http.HandleFunc("/api/HttpExample", helloHandler)
        log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr)
        log.Fatal(http.ListenAndServe(listenAddr, nil))
    }
    
  3. Ctrl + Shift + ' tuşlarına basın veya Terminal menüsünden Yeni Terminal'i seçerek terminalde yeni bir tümleşik terminal VS Code.

  4. Aşağıdaki komutu kullanarak özel işleyicinizi derle. İşlev uygulaması kök klasöründe handler ( handler.exe Windows) adlı yürütülebilir bir dosya çıktısı bulunur.

    go build handler.go
    

    VS Code - Build Go özel işleyicisi

İşlev uygulamanızı yapılandırma

İşlev ana bilgisayarı başlatıldığında özel işleyici ikili dosyanızı çalıştıracak şekilde yapılandırılması gerekir.

  1. host.json'ı açın.

  2. bölümünde customHandler.description değerini olarak ayarlayın defaultExecutablePath handler (Windows olarak handler.exe ayarlayın).

  3. bölümünde customHandler adlı bir özellik ekleyin ve enableForwardingHttpRequest değerini olarak true ayarlayın. Yalnızca bir HTTP tetikleyicisi oluşan işlevler için bu ayar, özel işleyici istek yükü yerine tipik bir HTTP isteğiyle çalışmanızı olanaklı olarak programlamayı basitleştirmektedir.

  4. Bölümünün bu customHandler örnekteki gibi göründüğünü onaylayın. Dosyayı kaydedin.

    "customHandler": {
      "description": {
        "defaultExecutablePath": "handler",
        "workingDirectory": "",
        "arguments": []
      },
      "enableForwardingHttpRequest": true
    }
    

İşlev uygulaması, özel işleyici yürütülebilir dosyanızı başlatacak şekilde yapılandırılır.

İşlevi yerel olarak çalıştırma

Azure'da yayımlamadan önce bu projeyi yerel geliştirme bilgisayarınızda çalıştırabilirsiniz.

  1. Tümleşik terminalde, Azure Functions Core Tools kullanarak işlev uygulamasını Azure Functions Core Tools.

    func start
    
  2. Core Tools çalışıyorken, sorgu dizesi içeren bir GET isteği yürütmek için aşağıdaki ?name=Functions URL'ye gidin.

    http://localhost:7071/api/HttpExample?name=Functions

  3. Bir tarayıcıda aşağıdakine benzer bir yanıt döndürülür:

    Tarayıcı - localhost örnek çıktısı

  4. İstekle ilgili bilgiler Terminal panelinde gösterilir.

    Görev ana bilgisayarı başlatma - VS Code terminal çıkışı

  5. Core Tools'i durdurmak için Ctrl + C tuşlarına basın.

İşlevin yerel bilgisayarınızda doğru şekilde çalıştırılanı doğruladıktan sonra, projeyi doğrudan Azure'Visual Studio Code yayımlamak için Visual Studio Code'i kullanabilirsiniz.

Azure'da oturum açma

Uygulamanızı yayımlamadan önce Azure’da oturum açmanız gerekir.

  1. Henüz oturum açmadıysanız etkinlik çubuğunda Azure simgesini seçin, sonra Azure: işlevler alanında Azure 'da oturum aç' ı seçin... Henüz bir hesabınız yoksa ücretsiz bir Azure hesabı oluşturabilirsiniz. Öğrenciler, öğrenciler için ücretsiz bir Azure hesabı oluşturabilir.

    VS Code içinde Azure 'da oturum açın

    Zaten oturum açtıysanız sonraki bölüme gidin.

  2. Tarayıcıda istendiğinde, Azure hesabınızı seçin ve Azure hesabı kimlik bilgilerinizi kullanarak oturum açın.

  3. Başarıyla oturum açtıktan sonra yeni tarayıcı penceresini kapatabilirsiniz. Azure hesabınıza ait abonelikler yan çubukta görüntülenir.

Azure için özel işleyiciyi derleme

Bu bölümde projenizi Linux çalıştıran bir işlev uygulamasında Azure'da yayımlayacaksiniz. Çoğu durumda, ikili dosyanızı yeniden derlemeniz ve yapılandırmanızı Azure'da yayımlamadan önce hedef platformla eş olacak şekilde ayarlamanız gerekir.

  1. Tümleşik terminalde işleyiciyi Linux/x64'e derle. İşlev uygulaması handler kökünde adlı bir ikili dosya oluşturulur.

    GOOS=linux GOARCH=amd64 go build handler.go
    

Projeyi Azure'da yayımlama

Bu bölümde, Azure aboneliğinizde bir işlev uygulaması ve ilgili kaynaklar oluşturup kodunuzu dağıtırsınız.

Önemli

Varolan bir işlev uygulamasına yayımladığınızda Azure’daki uygulamanın içeriğinin üzerine yazılır.

  1. Etkinlik çubuğunda Azure simgesini seçin, sonra Azure: işlevler alanında, işlev uygulamasına dağıt uygulama... düğmesini seçin.

    Projenizi Azure'da yayımlama

  2. İstemlerde aşağıdaki bilgileri sağlayın:

    • Klasör seçin: çalışma alanınızdan bir klasör seçin veya işlev uygulamanızı içeren bir klasöre gidin. Zaten açılmış geçerli bir işlev uygulamanız varsa bunu göremezsiniz.

    • Abonelik seçin: kullanılacak aboneliği seçin. Yalnızca bir aboneliğiniz varsa bunu göremezsiniz.

    • Azure'daki işlev uygulamasını seçin: + Create new Function App (advanced) öğesini seçin.

      Önemli

      advancedSeçeneği, işlev uygulamanızın Azure 'da çalıştığı belirli işletim sistemini seçmenizi sağlar ve bu durumda Linux olur.

      VS Code-gelişmiş yeni işlev uygulaması oluştur ' u seçin

    • İşlev uygulaması için genel olarak benzersiz bir ad girin: URL yolunda geçerli olan bir ad yazın. Yazdığınız ad, Azure Işlevlerinde benzersiz olduğundan emin olmak için onaylanır.

    • Çalışma zamanı yığını seçin: seçin Custom Handler .

    • Bir işletim sistemi seçin: Seç Linux .

    • Bir barındırma planı seçin: seçin Consumption .

    • Bir kaynak grubu seçin: Seç + Create new resource group . Kaynak grubu için bir ad girin. Bu ad, Azure aboneliğiniz dahilinde benzersiz olmalıdır. İstem içinde önerilen adı kullanabilirsiniz.

    • Bir depolama hesabı seçin: seçin + Create new storage account . Bu ad, Azure 'da genel olarak benzersiz olmalıdır. İstem içinde önerilen adı kullanabilirsiniz.

    • bir Application Insights kaynağı seçin: seçin + Create Application Insights resource . Bu ad, Azure 'da genel olarak benzersiz olmalıdır. İstem içinde önerilen adı kullanabilirsiniz.

    • Yeni kaynaklar için bir konum seçin: daha iyi performans için, size yakın bir bölge seçin. Uzantı, bildirim alanında Azure 'da oluşturulmakta olan ayrı kaynakların durumunu gösterir.

    Azure kaynak oluşturma bildirimi

  3. Tamamlandığında, aboneliğinizde aşağıdaki Azure kaynakları oluşturulur:

    • İlgili kaynaklar için mantıksal kapsayıcı olan bir kaynak grubu.
    • Projeleriniz hakkında durum ve diğer bilgileri tutan standart bir Azure depolama hesabı.
    • Sunucusuz işlev uygulamanız için temel Konağı tanımlayan bir tüketim planı.
    • İşlev kodunuzu yürütmek için ortam sağlayan bir işlev uygulaması. İşlev uygulaması, aynı barındırma planı içindeki kaynakların daha kolay yönetilmesi, dağıtılması ve paylaşılması için işlevleri bir mantıksal birim olarak gruplandırmanıza olanak tanır.
    • Sunucusuz işlevinizin kullanımını izleyen işlev uygulamasına bağlı bir Application Insights örneği.

    İşlev uygulamanız oluşturulduktan sonra bir bildirim görüntülenir ve dağıtım paketi uygulanır.

  4. Oluşturduğunuz Azure kaynakları dahil olmak üzere oluşturma ve dağıtım sonuçlarını görüntülemek için bu bildirimde çıktıyı görüntüle ' yi seçin. Bildirimi kaçırırsanız, sağ alt köşedeki zil simgesini seçerek tekrar görüntüleyin.

    Tüm bildirimi oluştur

İşlevi Azure 'da çalıştırma

  1. Yan çubuktaki Azure: Functions alanına geri döndüğünüzde aboneliğinizi, yeni işlev uygulamanızı ve işlevlerinizi genişletin. İşlevi sağ tıklatın (Windows) veya CTRL + tıklatın (MacOS) HttpExample ve Şimdi işlevi Çalıştır... seçeneğini belirleyin.

    İşlevi Azure 'da şimdi çalıştırın Visual Studio Code

  2. İstek gövdesi gir bölümünde istek iletisi gövdesi değerini görürsünüz { "name": "Azure" } . Bu istek iletisini işlevinizde göndermek için ENTER tuşuna basın.

  3. İşlev Azure 'da yürütüldüğünde ve bir yanıt döndürdüğünde, Visual Studio Code bir bildirim oluşturulur.

Kaynakları temizleme

Bir sonraki adıma devam edip işlevlerinize bir Azure depolama kuyruğu bağlama eklediğinizde, zaten yapmış olduğunuz şeyi oluşturmak için tüm kaynaklarınızı saklamanız gerekir.

Aksi takdirde, daha fazla maliyet ödemeden kaçınmak için işlev uygulamasını ve ilgili kaynaklarını silmek için aşağıdaki adımları kullanabilirsiniz.

  1. Visual Studio Code ' de, F1 tuşuna basarak komut paletini açın. Komut paletinde, araması yapın ve seçin Azure Functions: Open in portal .

  2. İşlev uygulamanızı seçin ve ENTERtuşuna basın. İşlev uygulaması sayfası Azure portal açılır.

  3. Genel bakış sekmesinde kaynak grubu' nun yanındaki adlandırılmış bağlantıyı seçin.

    İşlev uygulaması sayfasından silinecek kaynak grubunu seçin.

  4. Kaynak grubu sayfasında, dahil edilen kaynakların listesini gözden geçirin ve silmek istediğiniz kaynakların bunlar olduğunu doğrulayın.

  5. Kaynak grubunu sil’i seçin ve yönergeleri izleyin.

    Silme işlemi birkaç dakika sürebilir. İşlem tamamlandığında, birkaç saniye boyunca bir bildirim görüntülenir. Bildirimi görüntülemek için sayfanın üst kısmındaki zil simgesini de seçebilirsiniz.

Işlev maliyetleri hakkında daha fazla bilgi edinmek için bkz. Tüketim planı maliyetlerini tahminetme.

Sonraki adımlar