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

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

最終更新日:Sep 02, 2024

Goは、静的に型指定されコンパイルされたプログラミング言語です。 Goを使用する場合は、オンプレミスマシンでプログラムをコンパイルし、ZIP形式でコードをパッケージ化する必要があります。 このトピックでは、Function Compute SDK for Goライブラリをコードとともにパッケージ化する方法について説明します。

前提条件

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

LinuxまたはmacOSでコードをコンパイルしてパッケージ化する

  1. ダウンロードします。Function ComputeSDK for Goライブラリ。

    go get github.com/aliyun/fc-runtime-go-sdk/fc
  2. ファイルが保存されているディレクトリで、次のコマンドを実行してファイルをコンパイルします。

    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. 実行可能ファイルをコンパイルします。

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

    2. cmdを入力して入力 を押します。

    3. コマンドプロンプトウィンドウで、次のコマンドを実行します。

      set GOOS=linux
      set GOARCH=amd64
      go build -o main main.go
  2. build-fc-zipツールを使用してァイルをパッケージ化する。

    1. を使用します。Use the取得するbuild-fc-zipツールをダウンロードするには、GitHubから

      go get -u github.com/aliyun/fc-runtime-go-sdk/cmd/build-fc-zip
    2. build-fc-zipツールを使用してファイルをパッケージ化します。 Goのデフォルトのインストール方法を使用する場合、ツールは % USERPROFILE %\go\binディレクトリにインストールされます。

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

Function Computeハンドラーの設定

  1. サービスの作成.

  2. サービスで関数を作成するとセットランタイムGo 1 に設定します。

    go.env.example

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

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

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

その他の配置方法の詳細については、以下のトピックを参照してください。