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

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

最終更新日:Jan 21, 2025

Goは静的に型指定された言語であり、Function Computeコンソールでのオンラインコード編集はサポートされていません。 オンプレミスマシンでプログラムをコンパイルし、プログラムをとしてパッケージ化する必要があります。zipファイル。 このトピックでは、Function Compute SDK for Goライブラリをコードとともにパッケージ化し、Function Computeにアップロードする方法について説明します。

前提条件

Goがインストールされています。 Function ComputeはGo 1.xをサポートしています。 Go 1.8以降を使用することを推奨します。

LinuxまたはmacOSでファイルをコンパイルおよびパッケージ化する

  1. Function Compute SDK for Goをダウンロードします。

    go get github.com/aliyun/fc-runtime-go-sdk/fc
  2. main.goコードファイルを準備し、ファイルディレクトリで次のコマンドを実行してファイルをコンパイルします。

    GOOS=linux go build main.go
    説明
    • main.goファイルを例として使用します。 実際のファイル名に置き換えます。

    • コンパイル後、ディレクトリにファイルと同じ名前のバイナリファイルが生成されます。

    GOOS=linuxを追加して、コンパイルされた実行可能ファイルがFunction ComputeのGoランタイムと互換性があることを確認します。 Linux以外の環境でファイルをコンパイルするときは、これに特に注意してください。

    注:

    • Linuxの場合、純粋な静的コンパイルを使用するには、CGO_ENABLED=0を追加することを推奨します。 このように、実行可能ファイルは、libcライブラリなどの外部依存関係を必要としません。 これにより、コンパイル環境とGoランタイムの依存関係との間の非互換性が防止されます。 例:

      GOOS=linux CGO_ENABLED=0 go build main.go
    • マシンがmacOSとM1チップまたは別のARMアーキテクチャを搭載したコンピューターを使用している場合は、GOARCH=amd64を追加して、クロスプラットフォームのコンパイルを可能にします。 例:

      GOOS=linux GOARCH=amd64 go build main.go
  3. 前の手順で生成されたバイナリファイルをパッケージ化します。

    zip fc-golang-demo.zip main

Windowsでファイルをコンパイルしてパッケージ化する

  1. main.goコードファイルを作成し、ファイルディレクトリで次のコマンドを実行してファイルをコンパイルします。

    1. 勝つ+R[実行] を押してダイアログボックスを開きます。

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

      set GOOS=linux
      set GOARCH=amd64
      go build -o main main.go
      説明
      • main.goファイルを例として使用します。 実際のファイル名に置き換えます。

      • コンパイル後、ディレクトリにファイルと同じ名前のバイナリファイルが生成されます。

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

    1. インストールに行くコマンドを実行してbuild-fc-zipツールをダウンロードします。

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

      インストールに行くコマンドを実行してbuild-fc-zipツールをダウンロードします。% USERPROFILE %\go\binディレクトリに移動します。

    2. コードが存在するディレクトリで次のコマンドを実行して、コードをパッケージ化します。

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

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

  1. イベント関数を作し、ランタイムGo 1に設定します。

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

    image

    Goはコンパイルされた言語です。 実行可能なバイナリファイルを、オンプレミスのコンピューターでコンパイルした後、ZIPパッケージとしてアップロードする必要があります。 Function ComputeコンソールでGo Function Compute関数のHandlerパラメーターを設定する場合、Handlerパラメーターを [ファイル名] に設定します。 「ファイル名」は、コンパイルされたバイナリファイルの名前を示す。 関数が呼び出されると、Function Computeはバイナリファイルを実行します。

    • 次の図に示すように、コンパイルされたバイナリファイルがZIPパッケージのルートディレクトリに保存されている場合、Function Compute関数のHandlerパラメーターをmainに設定します。go-main

    • 次の図に示すように、コンパイルされたバイナリファイルがZIPパッケージのルートディレクトリに保存されていないが、bin/ ディレクトリに保存されている場合は、Handlerパラメーターをbin/mainに設定します。gp-bin-main