Goは静的に型指定された言語です。 オンプレミスマシンでプログラムをコンパイルし、プログラムをとしてパッケージ化する必要があります。zipファイル。 このトピックでは、Function Compute SDK for Goをコードにパッケージ化する方法について説明します。
前提条件
Goがインストールされています。 Function ComputeはGo 1.xをサポートしています。 Go 1.8以降を使用することを推奨します。
LinuxまたはmacOSでファイルをコンパイルおよびパッケージ化する
Function Compute SDK for Goをダウンロードします。
go ge t github.com/aliyun/fc-runtime-go-sdk/fc
ファイルが保存されているディレクトリで、次のコマンドを実行してファイルをコンパイルします。
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
前の手順で生成されたバイナリファイルをパッケージ化します。
zip fc-golang-demo.zip main
Windowsでファイルをコンパイルしてパッケージ化する
実行可能ファイルをコンパイルします。
プレス勝つ+R[実行] ダイアログボックスを開きます。
入力cmdそして押す入力.
コマンドプロンプトウィンドウで、次のコマンドを実行します。
set GOOS=linux set GOARCH=amd64 go build -o main main.go
を使用します。Use thebuild-fc-zipファイルをパッケージ化するツール。
go getコマンドを実行して、GitHubからbuild-fc-zipツールをダウンロードします。
go get -u github.com/aliyun/fc-runtime-go-sdk/cmd/build-fc-zip
build-fc-zipツールを使用してファイルをパッケージ化します。 Goのデフォルトのインストール方法を使用する場合、ツールは % USERPROFILE %\go\binディレクトリにインストールされます。
%USERPROFILE%\go\bin\build-fc-zip.exe -output main.zip main
function Computeでの関数ハンドラーの設定
イベント関数の作成とセットランタイムへ行く1.
Goはコンパイルされた言語です。 実行可能なバイナリファイルを、オンプレミスのコンピューターでコンパイルした後、ZIPパッケージとしてアップロードする必要があります。 function ComputeコンソールでGo FC関数のHandlerパラメーターを設定する場合、Handlerパラメーターを
[ファイル名]
に設定します。 「ファイル名」は、コンパイルされたバイナリファイルの名前を示す。 関数が呼び出されると、Function Computeはバイナリファイルを実行します。次の図に示すように、コンパイルされたバイナリファイルがZIPパッケージのルートディレクトリに格納されている場合、FCの関数のHandlerパラメーターを
main
に設定します。次の図に示すように、コンパイルされたバイナリファイルがZIPパッケージのルートディレクトリに保存されていないが、bin/ ディレクトリに保存されている場合は、Handlerパラメーターを
bin/main
に設定します。