INTEGRITY Dokumentace

Konfigurace

Chcete-li Flagship použít v Cloudflare Workeru, přidejte vazbu Flagship do konfiguračního souboru Wrangler. Tato vazba dává vašemu Workeru přístup k env.FLAGS, který poskytuje metody pro vyhodnocování příznaků.

Přidání vazby

Přidejte flagship blok do konfiguračního souboru Wrangler s názvem bindingu a ID vaší aplikace.

{
	"flagship": [
		{
			"binding": "FLAGS",
			"app_id": "<APP_ID>",
		},
	],
}
[[flagship]]
binding = "FLAGS"
app_id = "<APP_ID>"

Nahraďte <APP_ID> s ID aplikace z vaší aplikace Flagship. Pokud jste aplikaci ještě nevytvořili, přečtěte si Úvodní návod. binding pole nastavuje název, pod kterým budete přistupovat k Flagship ve svém kódu Workeru (například env.FLAGS).

Připojení k více aplikacím

Jeden Worker se může navázat na více aplikací Flagship. Chcete-li definovat více vazeb, použijte formu pole:

{
	"flagship": [
		{
			"binding": "FLAGS",
			"app_id": "<APP_ID_1>",
		},
		{
			"binding": "EXPERIMENT_FLAGS",
			"app_id": "<APP_ID_2>",
		},
	],
}
[[flagship]]
binding = "FLAGS"
app_id = "<APP_ID_1>"

[[flagship]]
binding = "EXPERIMENT_FLAGS"
app_id = "<APP_ID_2>"

Každý binding je dostupný jako samostatná vlastnost objektu env objekt (například env.FLAGS a env.EXPERIMENT_FLAGS).

Generování typů

Po přidání vazby spusťte npx wrangler types ke generování typů TypeScript. Tím se vytvoří Env rozhraní, kde je každý binding typován jako Flagship.

interface Env {
	FLAGS: Flagship;
	EXPERIMENT_FLAGS: Flagship;
}

Použijte vazbu

Volejte vyhodnocovací metody na env.FLAGS k překladu hodnot příznaků za běhu. Každá metoda přijímá klíč příznaku, výchozí hodnotu a volitelný kontext vyhodnocení.

export default {
	async fetch(request, env) {
		const isEnabled = await env.FLAGS.getBooleanValue("my-feature", false, {
			userId: "user-42",
		});

		return new Response(isEnabled ? "Feature is on" : "Feature is off");
	},
};
export default {
	async fetch(request: Request, env: Env): Promise<Response> {
		const isEnabled = await env.FLAGS.getBooleanValue("my-feature", false, {
			userId: "user-42",
		});

		return new Response(isEnabled ? "Feature is on" : "Feature is off");
	},
};

Viz reference API bindingu pro úplný seznam metod.

Lokální vývoj

Bindingy Flagship fungují s wrangler dev. Lokální Workery používají živou aplikaci Flagship nakonfigurovanou pomocí app_id. Lokální úložiště příznaků neexistuje. Před testováním vyhodnocení se ujistěte, že vaše lokální konfigurace Wrangleru odkazuje na platnou aplikaci Flagship.