Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu Hızlı Başlangıçta, Bir Azure SQL Veritabanı tablosundaki değişikliklere yanıt veren bir uygulama oluşturmak için Visual Studio Code kullanacaksınız. Kodu yerel olarak test ettikten sonra Azure İşlevleri'nde Flex Consumption planında çalışan yeni bir sunucusuz işlev uygulamasına dağıtırsınız.
Proje kaynağı, proje kodunuzu yerel olarak başlatmayı ve doğrulamayı ve kodunuzu Azure'a dağıtmayı kolaylaştırmak için Visual Studio Code ile Azure Geliştirici CLI (azd) uzantısını kullanır. Bu dağıtım, güvenli ve ölçeklenebilir Azure İşlevleri dağıtımları için geçerli en iyi yöntemleri izler.
Önemli
Azure SQL veritabanındaki değişikliklere yanıt vermek tüm diller için destekleniyor olsa da, bu hızlı başlangıç senaryosunda şu anda yalnızca C#, Python ve TypeScript örnekleri vardır. Bu hızlı başlangıcı tamamlamak için makalenin üst kısmındaki desteklenen dillerden birini seçin.
Önkoşullar
Aktif bir aboneliğe sahip bir Azure hesabı. Ücretsiz bir hesap oluşturun.
Visual Studio Code, desteklenen platformlardan birinde.
Visual Studio Code için Azure İşlevleri uzantısı. Bu uzantı için Azure İşlevleri Temel Araçları gerekir. Bu araç yerel olarak kullanılamadığında uzantı, paket tabanlı bir yükleyici kullanarak yüklemeyi dener. Ayrıca, komut paletinden çalıştırarak
Azure Functions: Install or Update Azure Functions Core ToolsCore Tools paketini yükleyebilir veya güncelleştirebilirsiniz. Yerel bilgisayarınızda npm veya Homebrew yüklü değilse, bunun yerine Core Tools'u el ile yüklemeniz veya güncelleştirmeniz gerekir.
-
18.x veya üzerini Node.js.
node --versionkomutunu kullanarak sürümünüzü kontrol edin.
Azure İşlevleri tarafından desteklenen Python sürümleri. Daha fazla bilgi için bkz . Python'ı yükleme.
- Visual Studio Code için Azure Geliştirici CLI uzantısı .
- Visual Studio Code için SQL Server (mssql) uzantısı .
Projeyi başlatma
Şablondan yerel bir Azure İşlevleri kod projesi oluşturmak için komut paletinden komutunu kullanabilirsiniz azd init .
Visual Studio Code'da, projenizi oluşturmak istediğiniz klasörü veya çalışma alanını açın.
Komut paletini açmak için F1 tuşuna basın, komutunu
Azure Developer CLI (azd): Initialize App (init)arayıp çalıştırın ve ardından Şablon seçin'i seçin.İstendiğinde arama yapın ve
Azure Functions with SQL Triggers and Bindingsöğesini seçin.İstendiğinde, örneğin
sqldbchangesgibi benzersiz bir ortam adı girin.
Bu komut , proje dosyalarını şablon deposundan çeker ve projeyi geçerli klasör veya çalışma alanında başlatır. içinde azd, ortamı uygulamanız için benzersiz bir dağıtım bağlamını korumak için kullanılır ve birden fazla dağıtım bağlamı tanımlayabilirsiniz. Ayrıca Azure'da oluşturduğunuz kaynak grubunun adının bir parçasıdır.
Bu komut , proje dosyalarını şablon deposundan çeker ve projeyi geçerli klasör veya çalışma alanında başlatır. içinde azd, ortamı uygulamanız için benzersiz bir dağıtım bağlamını korumak için kullanılır ve birden fazla dağıtım bağlamı tanımlayabilirsiniz. Ayrıca Azure'da oluşturduğunuz kaynak grubunun adının bir parçasıdır.
Bu komut , proje dosyalarını şablon deposundan çeker ve projeyi geçerli klasör veya çalışma alanında başlatır. içinde azd, ortamı uygulamanız için benzersiz bir dağıtım bağlamını korumak için kullanılır ve birden fazla dağıtım bağlamı tanımlayabilirsiniz. Ayrıca Azure'da oluşturduğunuz kaynak grubunun adının bir parçasıdır.
Uygulamanızı yerel olarak çalıştırabilmeniz için önce kaynakları Azure'da oluşturmanız gerekir.
Azure kaynakları oluşturun
Bu proje, geçerli en iyi yöntemleri izleyen diğer gerekli Azure kaynaklarıyla birlikte bir Flex Consumption planında bir işlev uygulaması oluşturmak amacıyla azd provision komutunu kullanacak şekilde yapılandırılmıştır.
Visual Studio Code'da F1 tuşuna basarak komut paletini açın, komutunu
Azure Developer CLI (azd): Sign In with Azure Developer CLIarayıp çalıştırın ve ardından Azure hesabınızı kullanarak oturum açın.Komut paletini açmak için F1 tuşuna basın, gerekli Azure kaynaklarını oluşturmak için komutunu
Azure Developer CLI (azd): Provision Azure resources (provision)arayın ve çalıştırın.Terminal penceresinde istendiğinde şu gerekli dağıtım parametrelerini sağlayın:
Uyarı Description Kullanılacak Azure Aboneliğini seçin Kaynaklarınızın oluşturulmasını istediğiniz aboneliği seçin. konum dağıtım parametresi Yeni Azure kaynaklarını içeren kaynak grubunun oluşturulacağı Azure bölgesi. Yalnızca şu anda Esnek Tüketim planını destekleyen bölgeler gösterilir. vnetEnabled dağıtım parametresi Şablon sanal ağ içinde kaynak oluşturmayı desteklese de, dağıtımı ve testi basitleştirmek için öğesini seçin False.
Komut, en son en iyi yöntemleri izleyerek, bu gerekli Azure kaynaklarını oluşturmak ve yapılandırmak için istemlere yanıtlarınızı Bicep yapılandırma dosyalarıyla birlikte kullanır.
- Esnek Tüketim planı ve işlev uygulaması
- Azure SQL Veritabanı (varsayılan ad: ToDo)
- Azure Depolama (gerekli) ve Application Insights (önerilir)
- Hesabınız için ilkelere ve rollere erişme
- Yönetilen kimlikleri kullanan hizmet-hizmet bağlantıları (depolanan bağlantı dizesi yerine)
Sağlama sonrası kancalar, yerel olarak çalıştırmak için gereken local.settings.json dosyasını da oluşturur. Bu dosya, Azure'daki veritabanınıza bağlanmak için gereken ayarları içerir.
Kodu gözden geçirme (isteğe bağlı)
Örnek iki işlevi tanımlar:
| İşlev adı | Kod dosyası | Tetikleyici türü | Description |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | HTTP tetikleyicisi | Düzgün biçimlendirilmiş bir JSON yükünü kabul eder ve sql çıkış bağlamasını kullanarak nesneyi tabloya ToDo satır olarak ekler. |
ToDoTrigger |
sql_trigger.cs | SQL tetikleyicisi | Tablodaki ToDo satır düzeyi değişiklikleri dinler ve değiştirilen satırı temsil eden bir nesne döndürür. |
Tür ToDoItem, ToDoItem.cs içinde tanımlanır.
| İşlev adı | Kod dosyası | Tetikleyici türü | Description |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | HTTP tetikleyicisi | Düzgün biçimlendirilmiş bir JSON yükünü kabul eder ve sql çıkış bağlamasını kullanarak nesneyi tabloya ToDo satır olarak ekler. |
httptrigger-sql-output |
sql_trigger_todo | SQL tetikleyicisi | Tablodaki ToDo satır düzeyi değişiklikleri dinler ve değiştirilen satırı temsil eden bir nesne döndürür. |
Tür ToDoItemtodo_item.py tanımlanır.
| İşlev adı | Kod dosyası | Tetikleyici türü | Description |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | HTTP tetikleyicisi | Düzgün biçimlendirilmiş bir JSON yükünü kabul eder ve sql çıkış bağlamasını kullanarak nesneyi tabloya ToDo satır olarak ekler. |
sqlTriggerToDo |
sql_trigger.ts | SQL tetikleyicisi | Tablodaki ToDo satır düzeyi değişiklikleri dinler ve değiştirilen satırı temsil eden bir nesne döndürür. |
Tür ToDoItem, ToDoItem.ts içinde tanımlanır.
Her iki işlev de Microsoft Entra Id kimlik doğrulamasını kullanarak Azure SQL Veritabanı örneğine kimlik tabanlı bir bağlantı tanımlayan uygulama düzeyinde AZURE_SQL_CONNECTION_STRING_KEY_* ortam değişkenlerini kullanır. Bu ortam değişkenleri, işlem sırasında azd provision hem Azure'da (işlev uygulaması ayarları) hem de yerel olarak (local.settings.json) oluşturulur.
SQL veritabanına bağlanma
Yeni veritabanına bağlanmak için Visual Studio Code için SQL Server (mssql) uzantısını kullanabilirsiniz. Bu uzantı, SQL tetikleyici işlevini çalıştırmak için tabloda güncelleştirmeler ToDo yapmanıza yardımcı olur.
F1 tuşuna basın ve komut paletinde komutunu
MS SQL: Add Connectionarayın ve çalıştırın.Bağlantı iletişim kutusundaGiriş türü'nüAzure'a Gözat olarak değiştirin ve kalan seçenekleri ayarlayın:
Seçenek Seçmek Description Sunucu SQL Server örneğiniz Varsayılan olarak, Azure hesabınız için erişilebilen tüm sunucular görüntülenir. Sunucu listesini filtrelemeye yardımcı olması için Abonelik, Kaynak grubu ve Konum kullanın. Veritabanı ToDoSağlama işlemi sırasında oluşturulan veritabanı. Kimlik doğrulaması türü Microsoft Entra ID Henüz oturum açmadıysanız Oturum aç'ı seçin ve Azure hesabınızda oturum açın. Kiracı Kimlik Belirli bir hesap kiracısı. Hesabınızda birden fazla kiracı varsa aboneliğiniz için doğru kiracıyı seçin. Veritabanınıza bağlanmak için Bağlan'ı seçin. Bağlantı, barındırma sunucusunda yönetici izinleri verilen ve veritabanında ile eşlenen
dboyerel kullanıcı hesabınızı kullanır.SQL Server görünümünde Bağlantılar'ı ve ardından SQL Server gezginindeki yeni sunucunuzu bulun ve genişletin. Tablolar'ı genişletin ve tablonun var olduğunu
ToDodoğrulayın. Yoksaazd provision'i yeniden çalıştırmanız ve hataları denetlemeniz gerekebilir.
İşlevi yerel olarak çalıştırma
Visual Studio Code, Azure'daki yeni işlev uygulamanızda yayımlamadan önce bu projeyi yerel geliştirme bilgisayarınızda çalıştırmanıza olanak sağlamak için Azure İşlevleri Çekirdeği araçlarıyla tümleştirilir.
F1 tuşuna basın ve komut paletinde komutunu
Azurite: Startarayın ve çalıştırın.İşlevi yerel olarak başlatmak için F5 tuşuna veya sol taraftaki Etkinlik çubuğundaki Çalıştır ve Hata Ayıkla simgesine basın.
Terminal panelinde Core Tools'un çıkışı görüntülenir. Uygulamanız Terminal panelinde başlar ve yerel olarak çalışan işlevin adını görebilirsiniz.
Uygulama çalışırken her iki işlev tetikleyicisini de doğrulayabilir ve hatalarını ayıklayabilirsiniz.
SQL çıkış bağlamasına yazan HTTP tetikleyici işlevini doğrulamak için:
Proje dosyasında da bulabileceğiniz
test.httpbu JSON nesnesini kopyalayın:{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Bu veriler, HTTP uç noktasını çağırdığınızda SQL veritabanınıza eklediğiniz bir satırı temsil eder. Çıkış bağı, veri nesnesini veritabanındaki bir
INSERTişlemi olarak dönüştürür.Uygulama çalışırken, Çalışma Alanı altındaki Azure görünümünde Yerel proje>İşlevleri'ni genişletin.
HTTP işlevinizi sağ seçin (veya macOS'ta Ctrl tuşunu basılı tutarak tıklayın), İşlevi şimdi yürüt'e tıklayın, kopyalanan JSON verilerini yapıştırın ve Enter tuşuna basın.
İşlev HTTP isteğini işler ve öğeyi bağlı SQL veritabanına yazar ve oluşturulan nesneyi döndürür.
SQL Server gezginine geri dönün, tabloyu sağ seçin
ToDo(veya macOS'ta Ctrl tuşunu basılı tutarak tıklayın) ve İlk 1000'i Seç'i seçin. Sorgu yürütürken eklenen veya güncelleştirilen satırı döndürür.3. Adımı yineleyin ve aynı kimlikle aynı veri nesnesini yeniden gönderin. Bu kez, çıkış bağlaması bir
UPDATEişlemi yerine birINSERTişlemi gerçekleştirir ve veritabanındaki mevcut satırı değiştirir.
İşiniz bittiğinde, Temel Araçlar işlemini durdurmak için terminale Ctrl+C yazın.
Azure’a dağıtın
Proje kodunu Azure'da önceden sağlanan kaynaklarınıza dağıtmak için Visual Studio Code'dan komutunu çalıştırabilirsiniz azd deploy .
Komut paletini açmak için F1 tuşuna basın, komutunu
Azure Developer CLI (azd): Deploy to Azure (deploy)arayın ve çalıştırın.azd deployKomut, kodunuzu paketler ve dağıtım kapsayıcısına dağıtır. Ardından uygulama başlatılır ve dağıtılan pakette çalıştırılır.Komut başarıyla tamamlandıktan sonra uygulamanız Azure'da çalışır. İşlev uygulamanızın Azure'da çalışan URL'si olan
Endpointdeğerini not edin.
İşlevi Azure'da çağırma
Visual Studio Code'da F1 tuşuna basın ve komut paletinde komutunu
Azure: Open in portalarayın ve çalıştırın, öğesini seçinFunction appve yeni uygulamanızı seçin. Gerekirse Azure hesabınızla oturum açın.Sol bölmede Uygulamanızın Application Insights günlüklerine bağlanan Günlük akışı'nı seçin.
Her iki işlevi de Azure'da çalıştırmak için Visual Studio Code'a dönün.
Komut paletini açmak için F1 tuşuna basın, komutunu
Azure Functions: Execute Function Now...arayın ve çalıştırın.Listeden uzak işlev uygulamanızı arayın ve seçin, ardından HTTP tetikleyici işlevini seçin.
Daha önce olduğu gibi JSON nesne verilerinizi Enter yükü gövdesine yapıştırın ve Enter tuşuna basın.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }INSERTyerine birUPDATEgerçekleştirmek için,iddeğerini yeni bir GUID değeriyle değiştirin.Portala dönün ve günlük penceresinde yürütme kaydını görüntüleyin.
Kaynakları temizle
İşlev uygulamanız ve ilgili kaynaklarınızla çalışmayı bitirdiğinizde, işlev uygulamasını ve ilgili kaynaklarını Azure'dan silmek ve başka maliyetlerle karşılaşmamak için bu komutu kullanabilirsiniz:
azd down --no-prompt
Uyarı
seçeneği, --no-prompt sizden onay almadan kaynak grubunuzu silmenizi belirtir azd .
Bu komut yerel kod projenizi etkilemez.