初始化开发工具包
About 2 min
初始化开发工具包
本主题介绍如何在应用程序中初始化云眼灰度发布(特性标帜)AB实验 Go SDK。
要初始化公开 API 方法(如 Decide)的 EyeofcloudClient,需要 SDK 密钥或硬编码的 JSON 数据文件。
使用开发工具包密钥进行基本初始化
Go
import eoc "github.com/eyeofcloud/go-sdk"
// Instantiates a client that syncs the datafile in the background
eocClient, er := eoc.Client("SDK_KEY_HERE")
高级配置
静态客户端实例
如果不希望客户端在后台定期同步数据文件,则可以实例化静态客户端。这对于在短期环境(例如 Lambda 函数)中使用开发工具包非常有用。可以将 EyeofcloudFactory 用于以下更高级的用例:
Go
import "github.com/eyeofcloud/go-sdk/pkg/client"
eyeofcloudFactory := &client.EyeofcloudFactory{
Datafile: []byte("DATAFILE_JSON_STRING_HERE"),
}
// Instantiate a static client (no datafile polling)
staticEocClient, err := eyeofcloudFactory.StaticClient()
如果希望 SDK 初始化并仅执行一次性远程数据文件提取,则可以传入 SDK 密钥并实例化静态客户端:
Go
import "github.com/eyeofcloud/go-sdk/pkg/client"
eyeofcloudFactory := &client.EyeofcloudFactory{
SDKKey: "[SDK_KEY_HERE]",
}
// Instantiate a static client that will pull down the datafile one time
staticEocClient, err := eyeofcloudFactory.StaticClient()
自定义初始化
可以进一步自定义 SDK 的顶级组件:事件处理器、配置管理器、默认决策选项和使用EyeofcloudFactory
的决策服务:
Go
import (
"time"
"github.com/eyeofcloud/go-sdk/pkg/client"
)
eyeofcloudFactory := &client.EyeofcloudFactory{
SDKKey: "[SDK_KEY_HERE]",
}
datafilePollingInterval := 2 * time.Second
eventBatchSize := 20
eventQueueSize := 1500
eventFlushInterval := 10 * time.Second
defaultDecideOptions := decide.EyeofcloudDecideOptions{
IgnoreUserProfileService: true,
}
// Instantiate a client with custom configuration
eyeofcloudClient, _ := eyeofcloudFactory.Client(
client.WithPollingConfigManager(datafilePollingInterval, nil),
client.WithBatchEventProcessor(
eventBatchSize,
eventQueueSize,
eventFlushInterval,
),
client.WithDefaultDecideOptions(defaultDecideOptions),
)
在安全环境中使用经过身份验证的数据文件
您可以使用服务器端(仅限)Eyeofcloud Feature Experimentation SDK(如 Go SDK)从经过身份验证的端点获取 Eyeofcloud Feature Experimentation 数据文件。
可以使用服务器端(仅限)云眼灰度发布(特性标帜)AB实验 SDK 从经过身份验证的终结点提取云眼灰度发布(特性标帜)AB实验数据文件。要使用经过身份验证的数据文件,请从设置>环境中的 Eyeofcloud 应用程序下载环境的访问令牌。选择安全环境,然后复制_数据文件访问令牌_。下面的示例显示了如何使用访问令牌和sdk_key初始化 Eyeofcloud 客户端,使客户端能够获取经过身份验证的数据文件并完成初始化。
Go
// fetch the datafile from an authenticated endpoint
accessToken := `<YOUR_DATAFILE_ACCESS_TOKEN>`
sdkKey := `<YOUR_SKD_KEY>`
factory := client.EyeofcloudFactory{SDKKey: sdkKey}
eyeofcloudClient, err := factory.Client(client.WithDatafileAccessToken(accessToken))