Olay tetiklemeli işlevler; Function Compute tetikleyicileri, Object Storage Service (OSS) tetikleyicileri ve ApsaraMQ for RocketMQ tetikleyicileri gibi kaynaklardan gelen olaylara yanıt olarak kodunuzu çalıştırır. Her işlev yalıtılmış olarak yürütülür; bir işlevin çalışması diğerlerini etkilemez. Bu konu, Function Compute konsolunu kullanarak olay tetiklemeli bir işlevin nasıl oluşturulacağını, düzenleneceğini, silineceğini ve Aliyun Kaynak Adının (ARN) nasıl alınacağını açıklar.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Function Compute konsolu erişimine sahip bir Alibaba Cloud hesabı
Hedef bölgede işlev oluşturma için yeterli izinler
İşlev oluşturun
Aşağıdaki adımlar, yerleşik bir çalışma zamanı ve örnek kod kullanarak olay tetiklemeli bir işlev oluşturmanıza rehberlik eder. Oluşturma işleminden sonra örnek kodu kendi mantığınızla değiştirin.
Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde Function Management > Function seçeneğini belirleyin.
Üst menü çubuğundan bir bölge seçin. Function sayfasında Create Function seçeneğine tıklayın.
İletişim kutusunda işlev türü olarak Event Function seçeneğini belirleyin, ardından Create seçeneğine tıklayın.
-
Create Function sayfasında aşağıdaki ayarları yapılandırın ve Create seçeneğine tıklayın.
-
Basic configurations: İşlev teknik özelliklerini ayarlayın.
Parameter Description Example Function name Aynı hesap ve bölge içinde işlev için benzersiz bir tanımlayıcıdır. Adlandırma kurallarına uygun olmalıdır. myFunctionvCPU İşleve ayrılan sanal CPU çekirdeği sayısıdır. vCPU ile bellek oranı 1:1 ile 1:4 arasında olmalıdır. 0.35 vCPUMemory İşleve ayrılan bellektir. 512 MBDisk İşlev örneği için geçici disk alanıdır. Tüm dizinler yazılabilir durumdadır ve alan paylaşılır. Örnek geri alındığında veriler kaybolur; dosyaları kalıcı hale getirmek için bir NAS dosya sistemi veya OSS paketi bağlayın. Function Compute, 10 GB disk alanı içeren ücretsiz bir katman sağlar. 10 GBHer çağrı için faturalandırma, kaynak teknik özelliklerinin kullanım süresiyle çarpılmasıyla hesaplanır. Ayrıntılar için Faturalandırmaya genel bakış konusuna bakın.
-
Auto scaling: Bir esneklik modu seçin.
Parameter Description Example Minimum instances Çalışır durumda tutulacak minimum örnek sayısıdır. Gecikmeye duyarlı iş yükleri için soğuk başlatma gecikmesini azaltmak ve örnekleri önceden ısıtmak amacıyla bu değeri 1veya daha yüksek ayarlayın. Herhangi bir esnek ilke yapılandırılmamışsa veya geçerli bir ilke yoksa, etkin minimum değer burada ayarladığınız değerdir. Birden fazla esnek ilke etkinse, Function Compute bunlar arasındaki en yüksek değeri etkin minimum olarak kullanır. Ayrıntılar için Örnek ölçeklendirme kuralları konusuna bakın.1 -
Code: Çalışma zamanı ortamını ve kod kaynağını yapılandırın.
Parameter Description Example Runtime İşlev kodunuzun çalıştırıldığı dil ve sürümdür. Built-in Runtimes seçeneğini belirleyin ve Python, Java, PHP veya Node.js gibi bir dil seçin. Bunun yerine bir web işlevi oluşturmak için Custom Runtime seçeneğini belirleyin. GPU hızlandırmalı bir işlev oluşturmak için Custom Container seçeneğini belirleyin. Kullanılabilir çalışma zamanları için Function Compute çalışma zamanları konusuna bakın. Built-in Runtimes Code upload method İşlev kodunuzun sağlanma şeklidir. Seçenekler: Use Sample Code (Hello World başlangıç kodu, konsolda daha sonra düzenlenebilir), Upload ZIP (ZIP paketi veya yalnızca Java çalışma zamanı için JAR paketi), Upload Folder veya OSS (bir paket ve nesne belirtin). Use Sample Code Handler Function Compute'un istekleri işlemek için çağırdığı giriş noktasıdır. Use Sample Code kullanıyorsanız varsayılan değeri koruyun. Kendi kodunuzu yüklerseniz, bunu işleyici işlevinizle eşleşecek şekilde güncelleyin. Yanlış bir işleyici çalıştırma hatalarına neden olur. index.handlerExecution timeout period Tek bir çağrının çalışabileceği maksimum süredir. Varsayılan 60 saniyedir; maksimum 86.400 saniyedir. 60 -
Permissions, network, and storage: İşlevin erişim rolünü, ağını ve depolama bağlantılarını yapılandırın.
Parameter Description Example Function role Function Compute'un diğer Alibaba Cloud hizmetlerine erişmek için geçici kimlik bilgileri oluşturmak üzere kullandığı RAM rolüdür. Kurulum ayrıntıları için Function Compute'a diğer Alibaba Cloud hizmetlerine erişim izni verme konusuna bakın. mytestroleAccess to VPC İşlevin bir sanal özel cloud (VPC) içindeki kaynaklara erişmesine izin vermek için etkinleştirin. Yapılandırma ayrıntıları için Ağ yapılandırma konusuna bakın. Enabled VPC Access to VPC etkinleştirildiğinde gereklidir. Mevcut bir VPC seçin veya yeni bir tane oluşturun. fc.auto.create.vpc.1632317****vSwitch Access to VPC etkinleştirildiğinde gereklidir. Mevcut bir vSwitch seçin veya yeni bir tane oluşturun. fc.auto.create.vswitch.vpc-bp1p8248****Security group Access to VPC etkinleştirildiğinde gereklidir. Mevcut bir güvenlik grubu seçin veya yeni bir tane oluşturun. fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****Allow default NIC to access internet İşlevin varsayılan ağ arabirim denetleyicisi (NIC) üzerinden internete erişip erişemeyeceğini kontrol eder. Enabled Mount a NAS file system Birden fazla çıkarım işlevi tarafından kullanılan model dosyaları gibi verileri işlevler arasında kalıcı olarak paylaşmak için bir NAS dosya sistemi bağlayın. Otomatik yapılandırma ile sistem, Alibaba-Fc-V3-Component-Generatedadlı bir Genel Amaçlı NAS dosya sistemi kullanır veya oluşturur. Ayrıntılar için NAS dosya sistemi yapılandırma konusuna bakın.Enabled Mount OSS Günlükleri, iş dosyalarını ve diğer verileri kalıcı olarak depolamak için bir OSS paketi bağlayın. Ayrıntılar için Object Storage Service (OSS) yapılandırma konusuna bakın. Enabled ÖnemliStatik bir genel IP adresi kullanırken Allow default NIC to access internet seçeneğini devre dışı bırakın. Aksi takdirde statik genel IP adresi etkili olmaz. Ayrıntılar için Statik genel IP adresi yapılandırma konusuna bakın.
-
Log monitoring and tracing
Parameter Description Example Log monitoring Hata ayıklama, arıza analizi ve veri analitiği için işlev çalıştırma günlüklerini Simple Log Service'e kalıcı olarak kaydeder. Automatic Configuration, bölge başına bir tane olmak üzere serverless-<region_id>adlı bir günlük projesi kullanır veya oluşturur. Custom Configuration, Log Service Project ve Logstore belirtmenize olanak tanır. Ayrıntılar için Günlük kaydı özelliğini yapılandırma konusuna bakın.Enabled -
More configurations
Parameter Description Example Time zone İşlev için saat dilimidir. Bu ayarı yapmak, seçilen değere sahip bir TZortam değişkeni ekler.UTCTag İşlevleri gruplamak ve yönetmek için etiketler. Her etiket bir anahtar ve bir değer gerektirir. Ayrıntılar için İşlev etiketleri konusuna bakın. key : valueResource group İşlevin ait olduğu kaynak grubudur. Ayrıntılar için Kaynak grupları konusuna bakın. Default Resource Group Environment variables İşlevin yürütme ortamına enjekte edilen anahtar-değer çiftleridir; kodu değiştirmeden işlev davranışını değiştirmenize olanak tanır. Ayrıntılar için Ortam değişkenlerini yapılandırma konusuna bakın. {"BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE"}
-
İşlevi düzenleyin
Function Details sayfasında, işlev kodunuzu konsolda doğrudan değiştirmek için Code sekmesini kullanın. Kodu yedekleme amacıyla dışa aktarabilir veya yeni kod yükleyebilirsiniz.
Sol panelde işlenmemiş değişiklikler görünüyorsa, değişikliklerinizi uygulamak için Test Function seçeneğine tıklamadan önce Deploy seçeneğine tıklayın.
Kodu dışa aktarmak veya yüklemek için:
Function Details sayfasında Code sekmesine tıklayın. Ardından sağ üst köşede Export Function seçeneğine tıklayın ve açılan menüden Export Function Code seçeneğini belirleyin.
Function Details sayfasında Code sekmesine tıklayın. Ardından sağ üst köşede Upload Code seçeneğine tıklayın ve açılan menüden bir yükleme yöntemi seçin: Upload ZIP, Upload Folder veya OSS.
Örnek teknik özellikleri ve ölçeklendirme gibi diğer yapılandırma değişiklikleri için İşlev örnek teknik özellikleri ve esnek yapılandırmalar konusuna bakın.
İşlevi silin
Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde Function Management > Function seçeneğini belirleyin.
İşlevi bulun ve Actions sütununda Delete Function seçeneğine tıklayın.
Onay iletişim kutusunda işlevin bağlı kaynakları (tetikleyiciler veya minimum örnek esnek ilkeleri gibi) olmadığını doğrulayın, ardından silme işlemini onaylayın.
İşlevin ARN'sini alın
Aliyun Kaynak Adı (ARN), bir Alibaba Cloud kaynağını benzersiz şekilde tanımlar ve işlevlere kod veya diğer hizmetlerden başvurmanıza olanak tanır.
Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde Function Management > Function seçeneğini belirleyin.
Üst menü çubuğundan bir bölge seçin. Hedef işleve tıklayın.
Function Details sayfasında sağ taraftaki Copy ARN seçeneğine tıklayın.
Sonraki adımlar
Function Compute, farklı senaryolar için dört işlev türünü destekler: olay tetiklemeli işlevler, web işlevleri, görev işlevleri ve GPU hızlandırmalı işlevler. Doğru türü seçmek için Teknoloji seçim kılavuzu konusuna bakın.
İşlevleri API veya CLI ile yönetmek için CreateFunction API referansı ve Serverless Devs ile başlayın konularına bakın.
Bir işlev "Function time out after" hatasıyla zaman aşımına uğrarsa İşlev zaman aşımı hatalarını giderme konusuna bakın.
Nadiren çağrılan işlevler, soğuk başlatma nedeniyle daha uzun yanıt sürelerine sahip olabilir. Soğuk başlatma gecikmesini ortadan kaldırmak için Minimum instances değerini
1veya daha yüksek ayarlayın. Arka plan bilgisi için Nadir kullanılan işlevlerin neden daha uzun sürede çağrıldığı konusuna bakın.