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, Azure Cosmos DB'de SQL Yok veritabanındaki veritabanı değişikliklerine yanıt veren bir uygulama oluşturmak için Visual Studio Code kullanacaksınız. Kodu yerel olarak test ettikten sonra, Azure İşlevleri bir Flex Tüketim planında çalıştırarak oluşturduğunuz 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 Cosmos DB'deki değişikliklere yanıt verirken SQL veritabanı tüm diller için desteklenmemektedir, ancak 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ı .
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.Geçerli klasörü veya çalışma alanını başlatırken
azdbiraz gecikme olabilir.
İstendiğinde Şablon seçin seçeneğini tercih edin, ardından
Azure Functions with Cosmos DB Bindings (.NET)öğesini arayın ve seçin.Size sorulduğunda,
cosmosdbchanges-dotnetgibi 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.
İstendiğinde Şablon seçin seçeneğini tercih edin, ardından
Azure Functions TypeScript CosmosDB triggeröğesini arayın ve seçin.Size sorulduğunda,
cosmosdbchanges-tsgibi 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.
İstendiğinde Şablon seçin seçeneğini tercih edin, ardından
Azure Functions Python with CosmosDB triggers and bindings...öğesini arayın ve seçin.Size sorulduğunda,
cosmosdbchanges-pygibi 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.
Yapılandırma betiklerine gerekli izinleri vermek için yerel işletim sisteminize bağlı olarak bu komutu çalıştırın:
Bu komutu yeterli ayrıcalıklarla çalıştırın:
chmod +x ./infra/scripts/*.sh
Uygulamanızı yerel olarak çalıştırabilmeniz için önce kaynakları Azure'da oluşturmanız gerekir. Bu proje Azure Cosmos DB için yerel öykünme kullanmaz.
Azure kaynakları oluşturun
Bu proje, azd provision komutunu kullanarak Flex Consumption planında ve güncel en iyi uygulamaları izleyen diğer gerekli Azure kaynaklarıyla birlikte bir işlev uygulaması oluşturmak için 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 Cosmos DB hesabı
- 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ışırken gereken local.settings.json dosyasını da oluşturur. Bu dosya, Azure'daki Azure Cosmos DB veritabanınıza bağlanmak için gereken ayarları da içerir.
Tavsiye
Sağlama sırasında herhangi bir adım başarısız olursa, sorunları çözdükten sonra komutu yeniden çalıştırabilirsiniz
azd provision.Komut başarıyla tamamlandıktan sonra proje kodunuzu yerel olarak çalıştırabilir ve Azure'daki Azure Cosmos DB veritabanında tetikleyebilirsiniz.
İş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.
Windows'da çalışırken sorun yaşıyorsanız Visual Studio Code için varsayılan terminalin WSL Bash olarak ayarlı olmadığından emin olun.
Core Tools hala Terminal'de çalışırken F1 tuşuna basın ve komut paletinde komutunu
NoSQL: Create Item...arayın ve çalıştırın ve hem veritabanını hem dedocument-dbkapsayıcıyıdocumentsseçin.Yeni Item.json dosyasının içeriğini bu JSON verileriyle değiştirin ve Kaydet'i seçin:
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Kaydet'i seçtikten sonra terminalde işlevin yürütülmesini görürsünüz ve yerel belge hizmet tarafından eklenen meta verileri içerecek şekilde güncelleştirilir.
İşiniz bittiğinde, ana bilgisayar işlemini durdurmak
func.exeiçin terminal penceresinde Ctrl+C tuşlarına basın.
Kodu gözden geçirme (isteğe bağlı)
İşlev, Bir Azure Cosmos DB NoSQL veritabanındaki değişiklik akışına göre tetikleniyor. Bu ortam değişkenleri tetikleyicinin değişiklik akışını nasıl izlediğini yapılandırıyor:
-
COSMOS_CONNECTION__accountEndpoint: Cosmos DB hesap uç noktası -
COSMOS_DATABASE_NAME: İzlenecek veritabanının adı -
COSMOS_CONTAINER_NAME: İzlenecek kapsayıcının adı
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.
Azure Cosmos DB tetikleyicisini tanımlayan kodu CosmosTrigger.cs proje dosyasında gözden geçirebilirsiniz.
cosmos_trigger.ts proje dosyasında Azure Cosmos DB tetikleyicisini tanımlayan kodu gözden geçirebilirsiniz.
function_app.py proje dosyasında Azure Cosmos DB tetikleyicisini tanımlayan kodu gözden geçirebilirsiniz.
İşlev kodunuzu yerel olarak gözden geçirip doğruladıktan sonra, projeyi Azure'da yayımlamanın zamanı geldi.
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.
İş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.Bu komut, yeni işlev uygulamanızı Azure portalında açar.
Ana sayfadaki Genel Bakış sekmesinde işlev uygulamanızın adını ve ardından Günlükler sekmesini seçin.
NoSQL: Create ItemVisual Studio Code'da komutunu kullanarak daha önce olduğu gibi kapsayıcıya bir belge ekleyin.İşlevin izlenen kapsayıcıdaki bir güncelleştirme tarafından tetiklendiğini yeniden doğrulayın.
Kodunuzu yeniden dağıtma
İşlev uygulamanıza kod güncelleştirmeleri dağıtmak için komutunu gerektiği kadar çalıştırabilirsiniz azd deploy .
Uyarı
Dağıtılan kod dosyalarının üzerine her zaman en son dağıtım paketi yazılır.
İstemlere ve tarafından azd oluşturulan tüm ortam değişkenlerine azd yönelik ilk yanıtlarınız adlandırılmış ortamınızda yerel olarak depolanır.
azd env get-values Azure kaynakları oluşturulurken kullanılan ortamınızdaki tüm değişkenleri gözden geçirmek için komutunu kullanın.
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.