Tüm Ürünler
Search
Belge Merkezi

Function Compute:Kod paketi dağıtma

Son Güncelleme:Oct 08, 2026

Python işleviniz için üçüncü taraf bağımlılıklarını yükleyin, kodu paketleyin ve Function Compute hizmetine dağıtın. Bu kılavuzda örnek uygulama olarak emoji kitaplığını kullanıyoruz.

Dağıtım yöntemi seçme

Yöntem En uygun olduğu durumlar Gereksinimler
pip + konsol yükleme Derlenmiş ikili dosya içermeyen, saf Python bağımlılıkları Python 3, pip3
Serverless Devs + Docker İkili uzantılara sahip bağımlılıklar (C/C++, cryptography, numpy vb.) Serverless Devs CLI, Docker

Bağımlılıklarınız derlenmiş ikili dosyalar içeriyorsa Serverless Devs yöntemini kullanın. macOS veya Windows üzerinde derlenen ikili dosyalar, Function Compute çalışma ortamının kullandığı Linux ortamıyla uyumlu değildir.

Hazırlıklar

Herhangi bir yöntemi uygulamadan önce yerel bir kod dizini ve örnek bir işlev hazırlayın.

  1. mycode adında bir dizin oluşturun.

    • Linux ve macOS: mkdir -p /tmp/mycode

    • Windows: mycode adında bir klasör oluşturun

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

    from emoji import emojize
    
    def handler(event, context):
        return emojize(":thumbs_up:")

Yöntem 1: pip ve konsolu kullanma

Ön koşullar

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

Bağımlılıkları yükleme ve karşıya yükleme

  1. emoji bağımlılığını mycode dizinine yükleyin:

    pip3 install emoji -t .

    Bu komutu mycode dizini içinde çalıştırın. -t . bayrağı, paketi genel site-packages yerine geçerli dizine yükler.

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

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

      zip code.zip -r ./*
      Not

      Not: Dizinde okuma ve yazma izinlerinizin bulunduğundan emin olun.

    • Windows: mycode dizinindeki tüm dosyaları seçin, sağ tıklayın ve bunları bir .zip dosyası olarak sıkıştırın.

  3. ZIP dosyasını Function Compute konsolunda karşıya yükleyin:

    1. Hedef işlevi bulun ve Function Details sayfasına gidin.

    2. Code sekmesine tıklayın.

    3. Upload Code > Upload ZIP Package öğelerine tıklayın, ardından code.zip dosyasını seçin.

    4. Save and Deploy seçeneğine tıklayın.

Önemli

Function Compute Linux ortamında çalışır. emoji kitaplığı (veya başka bir bağımlılık) derlenmiş ikili dosyalar içeriyorsa, macOS veya Windows'ta yüklendiğinde paket çalışmayabilir. Bu durumda, üçüncü taraf bağımlılıkları paketlemek için WebIDE kullanmanızı veya 2. Yöntemi (Serverless Devs + Docker) uygulamanızı öneririz.

Yöntem 2: Serverless Devs ve Docker kullanma

Serverless Devs, bağımlılıkları Function Compute Linux çalışma zamanıyla eşleşen bir Docker kapsayıcısı içinde derler; bu sayede ikili uyumluluk sağlanır.

Ön koşullar

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

Derleme ve dağıtma

  1. mycode dizinine gidin:

    cd /tmp/mycode
  2. 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}
          functionName: "emojipy"
          description: 'this is emoji'
          runtime: "python3"
          code: ./
          handler: index.handler
          memorySize: 128
          timeout: 30
          environmentVariables:
            PYTHONUSERBASE: /code/python  # Add environment variables to obtain dependencies.code.

    Aşağıdaki tabloda bu projedeki temel dosyalar açıklanmaktadır:

    Dosya Amacı Gerekli mi?
    s.yaml Serverless Devs proje yapılandırması Evet
    index.py İşlev işleyici kodu Evet
    requirements.txt Yüklenecek Python bağımlılıkları Evet
  3. Aşağıdaki içeriğe sahip requirements.txt dosyasını oluşturun:

    emoji==2.0.0
  4. Bağımlılıkları bir Docker kapsayıcısı içinde derleyin:

    sudo s build --use-docker

    Derleme tamamlandıktan sonra bağımlılıklar ./python dizinine yüklenir.

  5. İşlevi dağıtın:

    sudo s deploy

    Dağıtım tamamlandığında işlev Function Compute hizmetinde kullanılabilir hale gelir.

Sonraki adımlar

Bağımlılıkları her kod paketinde ayrı ayrı paketlemek yerine, birden çok işlev arasında paylaşmak için Function Compute katmanlarını kullanın: