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

Function Compute:コードパッケージのコンパイルとデプロイ

最終更新日:Mar 25, 2026

Go は静的にコンパイルされる言語であり、Function Compute 内でコードを直接編集することはできません。アプリケーションをローカルでコンパイルし、.zip ファイルにパッケージ化する必要があります。このトピックでは、アプリケーションを Function Compute とともに .zip ファイルにパッケージ化し、Function Compute にアップロードする方法について説明します。

前提条件

Go 開発環境をインストールします。Function Compute は Go 1.x をサポートしています。Go 1.8 以降のバージョンを使用してください。

Linux または macOS でのコンパイルとパッケージ化

  1. Go 用の FC SDK をダウンロードします。

    go get github.com/aliyun/fc-runtime-go-sdk/fc
  2. main.go などのコードファイルを作成します。そのディレクトリで、次のコマンドを実行してバイナリファイルをビルドします。

    GOOS=linux go build main.go
    説明
    • main.go はファイル名の例です。実際のファイル名に置き換えてください。

    • ビルド後、ソースファイルと同じ名前のバイナリファイルが現在のディレクトリに生成されます。

    GOOS=linux 環境変数を設定します。これにより、コンパイルされたバイナリが Linux ベースの Function Compute ランタイムと互換性を持つようになります。このステップは、Linux 以外のオペレーティングシステムでコンパイルする場合に非常に重要です。

    補足事項:

    • Linux では、CGO_ENABLED=0 を設定して静的リンクバイナリを作成します。これにより、バイナリファイルに libc ライブラリなどの外部依存関係がなくなり、ビルド環境と Go ランタイム間の互換性の問題を防ぐことができます。例:

      GOOS=linux CGO_ENABLED=0 go build main.go
    • M1 チップを搭載した Mac などの ARM ベースのマシンでコンパイルする場合は、GOARCH=amd64 を設定して、FC で使用される x86-64 アーキテクチャ用にクロスコンパイルします。例:

      GOOS=linux GOARCH=amd64 go build main.go
  3. 前のステップで生成されたバイナリファイルを zip 圧縮します。

    zip fc-golang-demo.zip main

Windows でのコンパイルとパッケージ化

  1. main.go などのコードファイルを作成し、次の手順に従ってバイナリファイルをビルドします。

    1. Win+R キーを押して、[ファイル名を指定して実行] ダイアログボックスを開きます。

    2. cmd と入力して Enter キーを押し、コマンドプロンプトを開きます。次に、次のコマンドを実行します。

      set GOOS=linux
      set GOARCH=amd64
      go build -o main main.go
      説明
      • main.go はファイル名の例です。実際のファイル名に置き換えてください。

      • ビルド後、ソースファイルと同じ名前のバイナリファイルが現在のディレクトリに生成されます。

  2. build-fc-zip ツールを使用して、前のステップで生成されたバイナリファイルをパッケージ化します。

    1. go install コマンドで build-fc-zip ツールをインストールします。

      set GOOS=windows
      set GOARCH=amd64
      go install github.com/aliyun/fc-runtime-go-sdk/cmd/build-fc-zip@latest

      go install コマンドは通常、ツールを %USERPROFILE%\go\bin ディレクトリにインストールします。

    2. プロジェクトのルートディレクトリで、次のコマンドを実行してコードをパッケージ化します。

      %USERPROFILE%\go\bin\build-fc-zip.exe -output main.zip main

関数の作成とハンドラの設定

  1. イベントトリガー関数を作成します。ランタイム環境[Go 1] を選択します。

  2. コードパッケージをアップロードし、関数のハンドラを設定します。詳細については、「イベント関数の作成」をご参照ください。

    Go はコンパイル型言語です。ローカルでコードをコンパイルし、実行可能バイナリファイルを ZIP パッケージとしてアップロードする必要があります。Function Compute コンソールハンドラー構成では、Go FC 関数のハンドラーを直接[filename]に設定する必要があります。このファイル名は、コンパイル済みバイナリファイルの名前です。関数が呼び出されると、Function Compute プラットフォームはこのバイナリファイルを直接実行します。

    • バイナリファイルが .zip パッケージのルートディレクトリにある場合、FCハンドラーmain に設定します。go-main

    • バイナリファイルが bin/ などのサブディレクトリにある場合、ハンドラーbin/main などの相対パスに設定します。gp-bin-main