本文介绍如何使用Go SDK中的示例代码设置实例类型。

您可以通过SDK在创建函数或更新函数时指定使用弹性实例还是性能实例,系统后端会将您的请求路由至设置的实例类型中。

实例类型参数为:
  • e1:弹性实例
  • c1:性能实例

如果不指定实例类型,则默认为弹性实例。

SDK示例

//  Go sdk
package main

import (
    "os"
    "github.com/aliyun/fc-go-sdk"
)

func main() {
    // new fc client
    /*
    阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    本示例以将AccessKey和AccessSecretKey保存在环境变量中实现身份验证为例。
    在运行本示例前请先在本地环境中设置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
    在FC Runtime运行环境下,配置执行权限后,ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET环境变量会自动被设置。
    */
    accessKeyID := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
    accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
    client, _ := fc.NewClient("endpoint", "2016-08-15",
        accessKeyID, accessKeySecret)

    // CreateService
    serviceName := "TestService"
    _, err := client.CreateService(fc.NewCreateServiceInput().
        WithServiceName(serviceName))
    if err != nil {
        panic(err)
    }

    // CreateFunction
    functionName := "TestFunction"
    createFunctionInput := fc.NewCreateFunctionInput(serviceName).
        WithFunctionName(functionName).
        WithHandler("index.handler").
        WithRuntime("python2.7").
        WithCode(fc.NewCode().WithFiles("./code/index.py")).
        WithTimeout(5).
        WithInstanceType("c1") // 指定函数所属实例类型为性能实例。
    _, err = client.CreateFunction(createFunctionInput)
    if err != nil {
        panic(err)
    }

    return
}