Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Použite tajomstvá na poskytnutie citlivej konfigurácie, ako sú osobné prístupové tokeny a API kľúče, pre vaše funkcie. Nikdy nenatvrdo kódujte tajné hodnoty v zdrojovom kóde ani ich nevystavujte frontendu. Čítajte ich počas behu zavolaním ctx.getSecret().
Požiadavky
- Aplikácia Fabric s inicializovanými funkciami. Pre pokyny na nastavenie pozri Použiť funkcie v Fabric Apps.
- Aplikácia sa nasadila aspoň raz s
npx rayfin up.rayfin secret seta zameraťrayfin secret listsa na aktívny nasadený objekt a zlyhať, keď neexistuje žiadny vzdialený koncový bod. - Tajná hodnota požadovaná vašou funkciou.
Nastav tajomstvo
Z root aplikácie povolte funkciu Functions a nastavte tajomstvo:
npx rayfin secret set API_KEY
Príkaz zobrazí požadovanú hodnotu a maskuje váš vstup. Na aktualizáciu existujúceho tajomstva spustite ten istý príkaz znova. Nová hodnota nahrádza existujúcu hodnotu.
Dôležitý
Nezahrňujte do príkazu hodnotu tajomstva ani ju neukladajte do správy zdrojového kódu.
Zoznam tajomstiev
Zoznam nakonfigurovaných názvov tajomstiev:
npx rayfin secret list
Príkaz zobrazuje tajné mená a časové pečiatky, ale nikdy nezobrazuje tajné hodnoty.
Prístup k tajomstvu z funkcie
Zavolajte ctx.getSecret('NAME') na získanie tajomstva pre aktuálnu invokáciu. Metóda vráti, undefined keď tajomstvo nie je nakonfigurované, takže explicitne spracovávajte voliteľné tajomstvá alebo poskytnite vhodné predvolené netajné hodnoty.
Nasledujúca funkcia získa súbor z GitHub repozitára. Verejné repozitáre nevyžadujú osobný prístupový token (PAT). Pre súkromné repozitáre funkcia pridáva tajomstvo GITHUB_PAT k požiadavke:
import {
UserDataFunctions,
type RayfinContext,
} from '@microsoft/fabric-user-data-functions';
const udf = new UserDataFunctions();
udf.func(
'getGitHubFile',
async (
owner: string,
repo: string,
path: string,
ref: string,
ctx: RayfinContext,
): Promise<string> => {
const pat = ctx.getSecret('GITHUB_PAT');
const headers: Record<string, string> = {
Accept: 'application/vnd.github.raw+json',
'User-Agent': 'rayfin-app',
};
if (pat) {
headers.Authorization = `Bearer ${pat}`;
}
const encodedPath = path
.split('/')
.map(encodeURIComponent)
.join('/');
const url =
`https://api.github.com/repos/${encodeURIComponent(owner)}/` +
`${encodeURIComponent(repo)}/contents/${encodedPath}` +
`?ref=${encodeURIComponent(ref || 'main')}`;
const response = await fetch(url, { headers });
if (!response.ok) {
throw new Error(`GitHub ${response.status}: ${await response.text()}`);
}
return response.text();
},
[],
);
Pole prázdnych spojení naznačuje, že funkcia nedeklaruje externé publikum zdrojov. PAT je tajomstvo, nie token zdrojov poskytovaný platformou.
Konfigurácia tajomstiev podľa prostredia
Uveďte tajné hodnoty v prostredí, kde funkcia beží:
-
Lokálny vývoj: Pridajte tajné hodnoty do sekcie
Values.rayfin/functions/local.settings.jsonLokálny hostiteľ Functions číta hodnoty prostredia funkcií z tohto súboru. - Fabric: Nastavte tajomstvá pre nasadený predmet v Fabric portáli.
Používajte rovnaký tajný názov v každom prostredí. Napríklad nakonfigurujte GITHUB_PAT lokálne a v Fabric, potom to čítajte s ctx.getSecret('API_KEY') v oboch prostrediach.
Dôležitý
Neukladajte tajné hodnoty do rayfin/functions/local.settings.json alebo v žiadnom inom súbore do správy zdrojového kódu. V súboroch, ktoré commitujete, ukladajte len netajné príklady alebo zástupné symboly.