此文已使用 Salesforce 機器翻譯系統翻譯。更多詳細資料請參見此處。
環境變數可讓您將變數新增至在某個環境中執行的應用程式程序當中,而無需變更程式碼。環境變數能安全儲存,是下列使用案例的理想選擇:
環境變數只能在應用伺服器中存取。它們無法修改邊緣服務的行為,包括 Proxy 和邊緣函式。
Note
您必須在要為其管理環境變數的專案上具有開發人員或管理員角色。如果您沒有存取權限,請要求具有 Managed Runtime 管理員角色的人員來協助您。
請按照這些教學來設定環境變數,然後在 PWA Kit 網站中實作程式碼以使用這些變數。您可以根據具體需求自訂程式碼。這些教學會示範如何:
我們建議在本機電腦上測試這些步驟,然後在非 Production 環境中測試,最後再將您的變更部署到 Production 中。如需更多指南,請參閱最佳做法、環境變數疑難排解、在本機偵錯。
環境變數:
process.env 進行存取導入新的環境變數時,首先要透過 API 或 Runtime Admin 進行設定。等待重新部署完成,然後部署使用它的新套件。
設定、更新、解除設定環境變數
使用 projects_target_env_var_partial_update:
1curl "https://cloud.mobify.com/api/projects/$PROJECT/target/$ENVIRONMENT/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 '{
7 "API_KEY": {"value": "b3Blbi1zZXNhbWU="},
8 "STOREFRONT_CONFIG": {"value": "{\"showBuyNowButton\": false}"},
9 "SLAS_CLIENT_ID": {"value": "da422690-7800-41d1-8ee4-3ce983961078"}
10}'若要解除設定現有的環境變數,請將它的值設為 null。
修改環境變數會重新部署環境。部署完成後,更新的值就會生效。
取得所有環境變數
使用 projects_target_env_var_list:
1curl "https://cloud.mobify.com/api/projects/$PROJECT/target/$ENVIRONMENT/env-var/" \
2 --header "Authorization: Bearer $MOBIFY_API_KEY" \
3 --header 'Accept: application/json'要建立、更新、移除或查看環境變數,請執行以下操作:
getProps 或 react-query Hook 傳回環境變數。環境變數的使用受到下列限制:
AWS、MRT、X_MRT、MOBIFY、X_MOBIFY、SSR_PROXY、NODE。BUNDLE_ID、DEPLOY_ID、DEPLOY_TARGET、EXTERNAL_DOMAIN_NAME、HANDLER、LAMBDA_RUNTIME_DIR、LAMBDA_TASK_ROOT、NODE_ENV、REDIRECT_BUCKET、REDIRECT_KEY、REDIRECT_UPDATE、REMOTE、X_AMZN_TRACE_ID。本節針對使用環境變數時可能遇到的常見錯誤,提供建議的解決方案。
您的程式碼擲回 Error,指出缺少變數。
**原因:**未設定程式碼呼叫的環境變數。
**建議的解決方案:**呼叫 projects_target_env_var_partial_update API 端點來設定適用的環境變數。
您的程式碼記錄了錯誤訊息,指出未找到環境變數。
**原因:**程式碼找不到環境變數,因為程式碼中有拼寫錯誤,或使用了不正確的環境變數名稱。
**建議的解決方案:**確認您在程式碼中正確拼寫了環境變數名稱,並且使用了所需的環境變數名稱。呼叫 projects_target_env_var_list API 端點以查看已設定之變數的完整清單,檢查環境變數名稱。
您用來設定環境變數的 API 呼叫失敗了。
**原因:**環境變數名稱可能不符合限制條件。例如,環境變數值的大小超過 32 KB。
**建議的解決方案:**確認您的環境變數符合限制條件。
執行涉及使用 API 金鑰的程式碼時,發生驗證錯誤。
**原因:**設定環境變數時使用的 API 金鑰不是預期的格式或已遺失。
**建議的解決方案:**確認環境變數儲存的 API 金鑰正確無誤。如有需要,請呼叫 projects_target_env_var_partial_update API 端點來修正 API 金鑰。
fetch 要求因網路錯誤而失敗。
**原因:**程式碼中呼叫的任何 API 端點的 URL 可能未正確定義或無效。例如,內容管理系統 (CMS) 端點的 URL 不正確。
**建議的解決方案:**確認程式碼中 API 端點的任何 URL 都正確無誤。