client := rest.NewClient(os.Getenv("SQUARECLOUD_API_KEY"))
defer client.Close()
api := rest.New(client)
環境変数は squarecloud.EnvVars(プレーンな map[string]string)としてモデル化されています。すべてのメソッドは、操作完了後の環境変数一式へと解決されます。そのため常に最新のマップが返されます。
上限: アプリケーションごとに最大256個の変数、キーは最大1024文字、値は最大4096文字です。
環境変数の一覧取得
envs, err := api.GetApplicationEnvs("abc123def456abc123def456")
if err != nil {
panic(err)
}
for key, value := range envs {
fmt.Printf("%s=%s\n", key, value)
}
変数の追加または更新
api.SetApplicationEnvs(appID, envs) は新しい変数を既存の一式に マージ します。呼び出しに含まれていない既存のキーは保持されます。
envs, err := api.SetApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
"DATABASE_URL": "postgres://...",
"FEATURE_FLAG": "true",
})
if err != nil {
panic(err)
}
環境変数一式全体の置換
api.ReplaceApplicationEnvs(appID, envs) はすべての変数を上書きします。
呼び出しに含まれていないものは 削除 されます。追加や更新だけを行いたい場合は SetApplicationEnvs を使ってください — ReplaceApplicationEnvs は指定しなかったすべての変数を削除します。
envs, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
"DATABASE_URL": "postgres://new-host...",
})
if err != nil {
panic(err)
}
// FEATURE_FLAG is now gone
すべての変数を消去するには空のマップを渡します:
_, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{})
変数の削除
api.DeleteApplicationEnvs(appID, keys) はリストに指定したキーを削除します。存在しないキーは静かに無視されます。
envs, err := api.DeleteApplicationEnvs("abc123def456abc123def456", []string{"FEATURE_FLAG"})
if err != nil {
panic(err)
}