すべてのプロダクト
Search
ドキュメントセンター

Function Compute:コードパッケージのデプロイDeploy a code package

最終更新日:Aug 30, 2024

このトピックでは、Pythonコードの依存関係をインストールし、コードをパッケージ化し、コードパッケージをFunction Computeにデプロイする方法について説明します。 このトピックでは、サードパーティの依存関係の絵文字を例として使用します。

準備

  1. テスト用のコードディレクトリを作成します。 この例では、mycodeが使用されています。

    • LinuxまたはmacOS

      mkdir -p /tmp/mycodeコマンドを実行し、ディレクトリを作成します。

    • Windows

      フォルダを作成し、mycodeという名前を付けます。

  2. mycodeディレクトリで、index.pyファイルを作成します。

    このファイルは、次のコンテンツで構成されています。

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

pipを使用した依存関係のインストールとコードのデプロイ

前提条件

  • Python 3はオンプレミスデバイスにインストールされており、pip3に必要な権限があります。

  • Python関数はFunction Computeコンソールで作成されます。 詳細については、「関数の作成」をご参照ください。

手順

  1. mycodeディレクトリでpip3 install emoji -tコマンドを実行し、現在のディレクトリに絵文字依存関係ライブラリをインストールします。

  2. mycodeディレクトリ内のすべてのファイルを圧縮します。

    • LinuxまたはmacOS

      mycodeディレクトリに移動し、zip code.zip -r ./* コマンドを実行します。

      説明

      ディレクトリの読み取りおよび書き込み権限があることを確認してください。

    • Windows

      mycodeディレクトリに移動し、すべてのファイルを選択し、ファイルを右クリックして、ファイルをZIPパッケージに圧縮します。

  3. Function Computeコンソールで、目的の関数を見つけます。 機能の詳細ページの右上隅にあるコードのアップロードをクリックして、前の手順で取得したZIPパッケージをアップロードします。

重要

Function ComputeはLinuxで実行されます。 WindowsまたはmacOSを実行するオンプレミスマシンに絵文字依存関係ライブラリをインストールするときにバイナリファイルが含まれている場合、コードパッケージをfunction Computeにアップロードした後に関数が実行されません。 WebIDEまたはServerless Devsを使用して絵文字依存ライブラリをインストールすることを推奨します。 詳細については、「WebIDEを使用して関数のサードパーティの依存関係をパッケージ化する」および「Serverless Devsを使用して依存関係をインストールし、プロジェクトをデプロイする」をご参照ください。

Serverless Devsを使用した依存関係のインストールとプロジェクトのデプロイ

前提条件

手順

  1. cd /tmp/mycodeコマンドを実行し、mycodeディレクトリに移動します。

  2. s.yamlファイルを追加します。

    次のサンプルコードは、ファイルの編集方法の例を示しています。

    edition: 1.0.0          # The version of the YAML specification. The version complies with the semantic versioning specification.
    name: fcDeployApp       # The name of the project.
    access: "default"       # The alias of the key.
    
    services:
      fc-deploy-test: # The name of the service.
        component: fc  # The name of the component.
        props: # The property value of the component.
          region: cn-shanghai
          service:
            name: fctest
            description: 'test'
            internetAccess: true
          function:
            name: emoji
            description: this is a emoji
            runtime: python3
            codeUri: ./
            handler: index.handler
            memorySize: 128
            timeout: 6
  3. requirements.txtファイルを追加します。

    次のコンテンツに従ってファイルを編集します。

    emoji==2.0.0
  4. sudo s build -- use-dockerコマンドを実行して、依存関係をインストールします。

    実行後、. sディレクトリは、mycodeディレクトリに依存関係がインストールされ、. s/build/artifacts/{serviceName}/{functionName}ディレクトリに移動します。

  5. sudo s deployコマンドを実行して、プロジェクトをデプロイします。

    コマンドを実行した後、function Computeに関数をデプロイできます。

関連ドキュメント

Function Computeのレイヤー機能を使用して依存関係をインストールすることもできます。 公式の共通レイヤーを使用するか、オンラインで依存レイヤーを構築することを推奨します。 詳細については、以下のトピックをご参照ください。