本文介绍使用SDK在创建函数时配置PreStop和PreFreeze扩展函数。
背景信息
扩展函数SDK示例
本文以Go语言为例,您可以通过以下示例代码在创建函数时配置PreStop和PreFreeze函数。
package main
import (
"github.com/aliyun/fc-go-sdk"
"fmt"
"os"
)
func main() {
client, _ := fc.NewClient(
os.Getenv("ENDPOINT"),
"2016-08-15",
os.Getenv("ACCESS_KEY_ID"),
os.Getenv("ACCESS_KEY_SECRET"),
)
serviceName := "ExtensionService"
functionName := "ExtensionFunction"
createFunctionInput := fc.NewCreateFunctionInput(serviceName).WithFunctionName(functionName)
// 配置PreStop和PreFreeze函数。
preStopHook := fc.NewLifecycleHook().WithHandler("index.preStop").WithTimeout(int32(30))
preFreezeHook := fc.NewLifecycleHook().WithHandler("index.preFreeze").WithTimeout(int32(10))
instanceLifecycle := fc.NewInstanceLifecycleConfig().WithPreStopHook(preStopHook).WithPreStopHook(preFreezeHook)
createFunctionOutput, err := client.CreateFunction(createFunctionInput.WithInstanceLifecycleConfig(instanceLifecycle))
if err != nil {
fmt.Fprintln(os.Stderr, err)
} else {
fmt.Printf("CreateFunction response: %s \n", createFunctionOutput)
}
return
}
该文章对您有帮助吗?