--- title: "Python" slug: "cloudfunctions-example-python" tags: ["Cloud Functions"] updated: 2026-09-17T09:31:52Z published: 2026-09-17T09:31:52Z canonical: "guide.ncloud-docs.com/cloudfunctions-example-python" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Python Classic/VPC環境で利用できます。 Python形式のアクションを作成して多様に活用する方法と、そのユースケースを紹介します。 ## アクション作成 Pythonで作成したコードは複数の関数を含めますが、Main関数はプログラムのスタートポイントとして宣言される必要があります。この点を考慮して名前と場所を含めて Hello Worldを出力する Python形式の簡単なサンプルコードの helloは、次の通りです。 ``` def main(args): name = args.get("name", "World") place = args.get("place", "Naver") greeting = "Hello " + name + " in " + place + "!" print(greeting) return {"payload": greeting} ``` 上記で作成したコードを使用してコンソールで「hello」という名前のアクションを作成する手順は、次の通りです。  ## 依存関係ファイルを一緒にパッケージングしてアクションを作成 コードを作成していると、1つのアクション以外に依存モジュールを一緒にパッケージングする場合があります。このような場合は、関連する複数のファイルを1つのモジュールにパッケージングし、そのファイルを利用してアクションを作成できます。 関数にアクセスするための entry pointの `main` 関数は、__main__ .pyファイル内に定義されている必要があります。例えば、メインアクションで使用される複数の関数が作成された helper.pyファイルと一緒にパッケージングしてアクションを作成したい場合、以下のコマンドを使用してアクションに関連する複数のファイルを helloPython.zipに圧縮します。 ``` zip -r helloPython.zip __main__.py helper.py ``` その後、作成された圧縮ファイルを使用してアクションを作成できます。 ### virtual environmentと一緒にパッケージングしてアクションを作成 virtual environmentと一緒にパッケージングしてアクションを作成する方法を OS環境別に説明します。 #### Linux & Mac Cloud Functionsで基本的に提供されるライブラリ以外に追加ライブラリを使用するために、virtual environment(virtualenv)を使用して一緒にパッケージングできます。基本的にサポートするパッケージング方法と同様に、メイン関数は __main__.pyファイル内に定義されていて、virtualenvのフォルダ名は「virtualenv」に設定する必要があります。 以下は、virtual environmentを構築し、Cloud Functionsで提供しない pyjokesライブラリを使用して jokeを返すアクションを作成するユースケースです。 1. virtualenvという名前を持つ virtualenv環境を構築します。 ``` virtualenv virtualenv source virtualenv/bin/activate pip install pyjokes ``` 2. __main__.pyで `get_ joke()` メソッドを呼び出して jokeを返すコードを作成します。 ``` import pyjokes def main(args): return {"joke": pyjokes.get_joke()} ``` 3. virtualenvフォルダと __main__ .pyファイルを一緒に圧縮します。 ``` $ zip -r jokes.zip virtualenv __main__.py ``` 4. 作成された圧縮ファイルを使用してアクションを作成します。 参考 Cloud Functionsは、アクションソースコードの最大サイズが38MBに制限されています。そのため、使用するライブラリが多くファイルサイズが制限容量を超える場合は、リリースが制限されることがあります。頻繁に使われないアクションの場合はコンテナが cold状態になり、初期アクション実行時間が伸びることがあります。 #### Windows Windows環境では、Linuxや Mac環境の virtualenvと同じサポートが困難なため、仮想環境を構成してパッケージングする2つの方法を説明します。ただし、Pythonや pipは既にインストールされている必要があります。 - Dockerを使用してパッケージ化する方法: Dockerを利用できる開発環境の場合、仮想で簡単に開発環境を構成してパッケージ化できます。パッケージ化する手順は次の通りです。 1. 使用中の OSに該当する Docker for Windows(Community Edition)や Docker Toolboxをインストールします。 (参照: [https://www.docker.com/docker-windows](https://www.docker.com/docker-windows)) 2. ソースコード __main__ .pyを作成します。 ``` import pyjokes def main(args): return {"joke": pyjokes.get_joke()} ``` 3. requirements.txtファイルを作成します。 ``` pyjokes==0.5.0 ``` 4. Dockerコマンドを使用して zipファイルを作成します。 - 以下のようなファイル構造で作業パスを c:\WorkingDirと仮定 powershell c:\WorkingDir>dir XXXX-XX-XX 午後 09:07