Tüm Ürünler
Search
Belge Merkezi

Function Compute:Kod paketi dağıtma

Son Güncelleme:Oct 08, 2026

Kodunuzu ve vendor dizinini bir ZIP dosyasında paketleyerek üçüncü taraf bağımlılıklara sahip bir PHP işlevini Function Compute'a dağıtın. Bu kılavuzda örnek bağımlılık olarak Nette\Utils kullanılır; Function Compute konsolu ile Composer ve Serverless Devs olmak üzere iki dağıtım yöntemi ele alınır.

Kodunuzu hazırlayın

Dağıtımdan önce işlev işleyicinizle birlikte yerel bir kod dizini kurun.

  1. İşlev kodunuz için mycode adlı bir dizin oluşturun.

    • Linux ve macOS: mkdir -p /tmp/mycode komutunu çalıştırın.

    • Windows: mycode adlı bir klasör oluşturun.

  2. mycode dizininde aşağıdaki içeriğe sahip index.php dosyasını oluşturun:

    <?php
    
    require_once __DIR__ . '/vendor/autoload.php';
    
    use Nette\Utils\Arrays;
    
    function handler($event, $context) {
        return Arrays::contains([1, 2, 3], 1);
    }

Yöntem 1: Composer kullanma

Bağımlılıkları Composer ile yerel olarak yükleyin, kodu bir ZIP dosyasında paketleyin ve Function Compute konsolu aracılığıyla yükleyin.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

Bağımlılıkları yükleme ve dağıtma

  1. mycode dizininde composer.json dosyasını oluşturun:

    {
      "require": {
        "nette/utils": "v3.2.5"
      }
    }
  2. mycode dizininde bağımlılıkları yüklemek için composer install komutunu çalıştırın. Komut tamamlandığında Composer, mycode içinde bir composer.lock dosyası ve bir vendor dizini oluşturur. İndirdiğiniz bağımlılıklar vendor içinde depolanır.

  3. mycode içindeki tüm dosyaları bir ZIP dosyasında paketleyin.

    • Linux ve macOS: mycode dizinine gidin ve aşağıdaki komutu çalıştırın:

      zip code.zip -r ./*
      Not: Dizin üzerinde okuma ve yazma izinlerinizin olduğundan emin olun.
    • Windows: mycode dizinini açın, tüm dosyaları seçin, sağ tıklayın ve bunları bir ZIP dosyasında sıkıştırın.

    Not: index.php dosyasının paketin kök dizininde bulunduğundan emin olun.
  4. Function Compute konsolunda güncellemek istediğiniz işlevi açın. İşlev ayrıntıları sayfasının sağ üst köşesinde Upload Code öğesine tıklayın ve ZIP dosyasını seçin. Alternatif olarak, bir işlev oluştururken de ZIP dosyası yükleyebilirsiniz. Bkz. Olay işlevi oluşturma.

  5. İşlev ayrıntıları sayfasındaki Code sekmesinde dağıtımı doğrulamak için Test Function öğesine tıklayın.

Yöntem 2: Serverless Devs kullanma

ZIP dosyasını manuel olarak yönetmeden işlevinizi oluşturmak ve dağıtmak için Docker ile Serverless Devs'i kullanın.

Ön koşullar

Başlamadan önce aşağıdakileri tamamladığınızdan emin olun:

Bağımlılıkları yükleme ve dağıtma

  1. mycode dizininde aşağıdaki içeriğe sahip s.yaml dosyasını oluşturun:

    edition: 3.0.0
    name: fcDeployApp
    access: "default"
    
    vars: # The global variables.
      region: "cn-hangzhou"
    
    resources:
      hello_world:
        component: fc3 # The name of the component.
        props:
          region: ${vars.region}              # For information about how to use variables, visit https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC.
          functionName: "testphp"
          description: 'this is a test'
          runtime: "php7.2"
          code: ./
          handler: index.handler
          memorySize: 128
          timeout: 30
  2. mycode dizininde composer.json dosyasını oluşturun:

    {
        "require": {
            "nette/utils": "^3.0"
        }
    }
  3. Function Compute çalışma zamanı ortamıyla eşleşen bir Docker kapsayıcısında bağımlılıkları yüklemek için aşağıdaki komutu çalıştırın:

    sudo s build --use-docker

    Komut tamamlandığında Serverless Devs, bağımlılıkları ve kodu ./vendor dizinine yükler.

  4. İşlevi dağıtmak için aşağıdaki komutu çalıştırın:

    sudo s deploy

    Komut tamamlandığında işleviniz Function Compute'a dağıtılır.

Sonraki adımlar

Bağımlılıkları her dağıtıma paketlemek yerine yönetmek için Function Compute katmanlarını kullanın. Bkz. Özel katman oluşturma.