此文已使用 Salesforce 機器翻譯系統翻譯。更多詳細資料請參見此處。
Managed Runtime 環境變數可讓您將變數新增至在某個環境中執行的應用程式程序當中,而無需變更程式碼。環境變數能安全儲存,是下列使用案例的理想選擇:
如需更多詳細資料,請參閱環境變數。
讓我們使用環境變數,來儲存用於存取安全外部資源的 API 金鑰。在本教學中,資源是一個假想的第三方內容管理系統 (CMS)。我們將在 ssr.js 中為 Express.js 伺服器新增一個處理常式,以向 CMS 發出要求,並使用受保護的資料進行回應。然後,我們會呼叫處理常式來存取資料。
基於安全考量,API 金鑰會從伺服器端程式碼 (而不是用戶端程式碼) 呼叫 CMS。
要完成本教學,請首先:
在執行本教學的命令之前,請以實際值取代預留位置。預留位置的格式為:$PLACEHOLDER
要在目前的工作階段中設定環境變數,請開啟終端機並執行以下命令:
set CMS_API_KEY='my-cms-api-key'export CMS_API_KEY='my-cms-api-key'請執行以下命令,檢查環境變數設定是否正確:
echo %CMS_API_KEY%echo $CMS_API_KEY該命令會傳回以下輸出:my-cms-api-key
新增此 JavaScript 程式碼,以在 ssr.js 中呼叫 CMS:
1async function fetchCMSData() {
2 const key = process.env.CMS_API_KEY;
3 if (!key) {
4 throw new Error("Environment variable CMS_API_KEY isn't set.");
5 }
6
7 return await fetch("https://api.example.com/", {
8 headers: {
9 Authorization: "Bearer " + key,
10 },
11 }).json();
12}
13
14async function handlerCMS(req, res) {
15 try {
16 const data = await fetchCMSData();
17 return res.json(data);
18 } catch (err) {
19 return res.status(500).json({ error: err.message });
20 }
21}npm start 啟動開發伺服器。最後,前往本機處理常式,驗證是否傳回 CMS 資料。建議在非 Production 環境中測試這些步驟,然後再將變更部署到生產 Production 環境。
在執行本教學的命令之前,請以實際值取代預留位置。預留位置的格式為:$PLACEHOLDER
1curl "https://cloud.mobify.com/api/projects/$PROJECT_ID/target/$ENVIRONMENT_ID/env-var/" \
2 --request 'PATCH' \
3 --header 'Content-Type: application/json' \
4 --header 'Accept: application/json' \
5 --header "Authorization: Bearer $MOBIFY_API_KEY" \
6 --data '{"CMS_API_KEY": {"value": "'$YOUR_API_KEY_VALUE'"}}'