tencent cloud

Tencent Cloud EdgeOne

環境変数とキー

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-15 18:20:38
AI翻訳・品質チェック済み

操作シナリオ

環境変数とシークレットは、エッジ関数の実行環境で設定されるキーと値のペアです。このキーと値のペアは、エッジ関数スクリプト内でグローバル変数としてアクセスでき、明示的にインポートまたは初期化する必要はありません。環境変数とシークレットを使用することで、関数コードと設定の分離を実現できます。その主な用途は以下の通りです:
設定の分離:環境変数とシークレットを使用することで、開発者は関数コードを変更することなく、エッジ関数を設定できます。これにより、開発者は異なる環境(開発、テスト、本番環境など)に異なる変数値を設定し、関数の動作を制御できます。
安全性:APIキーなどの機密情報をコードにハードコードするのではなく、環境変数とシークレットに保存することで、アプリケーションのセキュリティを向上できます。これにより、コードベース内の機密情報漏洩リスクを低減し、キー管理を簡素化できます。
柔軟性:環境変数とシークレットはエッジ関数に高い柔軟性を提供し、開発者が必要に応じてエッジ関数の動作を調整できるようにします。例えば、開発者は環境変数とシークレットを使用してグレーリリースを実現し、異なるユーザーグループが異なるバージョンのコードや設定にアクセスするよう制御できます。

操作紹介

1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. サイト詳細ページで、エッジ関数 > 関数管理をクリックします。
3. 関数管理ページで、対象の関数名をクリックし、ページ下部にある環境変数とシークレットモジュールを確認します。関数が未作成の場合は、関数の作成とデプロイガイドに従って先に関数を作成してください。

環境変数とキーの作成とデプロイ

1. 環境変数とシークレットモジュールで、クイック追加をクリックし、関連パラメータを設定します。



パラメータ名
説明
変数名
必須項目です。大小文字、数字のみを含めることができ、特殊文字は@、.、-、,、のみサポートされ、長さは1~64文字に制限されます。変数名は重複できず、作成後の変更はできません。例:keytest。
変数タイプ
必須項目です。String、JSON、Secretの3種類のタイプを選択できます。
String:この項目を選択すると、入力した変数値の内容は文字列として保存されます。具体的な使用方法については、エッジ関数での環境変数参照の変数タイプがStringのセクションを参照してください。
JSON:この項目を選択すると、入力した変数値の内容はJSON配列として保存されます。エッジ関数は自動的にこの変数値をJavaScriptオブジェクトに解析するため、手動でJSON.parse()を呼び出す必要はありません。具体的な使用方法については、エッジ関数での環境変数参照の変数タイプがJSONのセクションを参照してください。
Secret:この項目を選択すると、入力した変数の内容はJSON配列または文字列として保存できます。保存後、変数値は表示されなくなりますので、大切に保管してください。具体的な使用方法については、エッジ関数での環境変数参照の変数タイプがSecretのセクションを参照してください。
変数値
必須項目です。最大5KBをサポートします。例:タイプにStringを選択した場合、変数値にvaluetestを入力します。変数タイプがJSONの場合、変数値は入力内容がJSONデータ構造であるかどうかを検証します。JSONデータ構造でない場合、エラーが表示されます。
2. OKをクリックすると、環境変数とシークレットの作成が完了します。1つのエッジ関数につき、最大64個の環境変数とシークレットを作成できます。



3. デプロイ操作をクリックすると、有効になります。

エッジ関数への環境変数とキーの導入

関数が参照する環境変数に特殊文字:@、.、-、,、が含まれていない場合は、env.envname形式で参照できます。例えば、環境変数envnameがkeytestの場合、エッジ関数コードでの参照方法はenv.keytestです。具体的な使用方法については、変数タイプがStringのセクションを参照してください。
関数が参照する環境変数名に特殊文字:@、.、-、,、が含まれている場合は、env['envname']形式で参照できます。例えば、環境変数envnameがtest-@.-aの場合、エッジ関数コードでの参照方法はenv['test-@.-a']です。
以下は、エッジ関数が変数タイプString、JSON、Secretを参照する場合のサンプルコードです。開発者は実際の状況に応じて調整できます。

変数タイプはString

上記の環境変数とシークレットの作成およびデプロイ手順により、環境変数名をtestString、変数値をvaluetestとして作成します。エッジ関数での参照例は以下の通りです:



// エントリ関数
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});

// リクエストを処理する関数
async function handleRequest(request) {
// 環境変数とシークレットから値を取得します。この変数はエッジ関数の環境変数に作成およびデプロイ済みである必要があります。
const valueFromEnv = env.testString;
// レスポンスを作成
const response = new Response(valueFromEnv, {
headers: {
'Content-Type': 'text/plain' // レスポンスのContent-Typeを設定します。
}
});

// レスポンスを返します。
return response;
}
上記のコードの意味は、関数が作成およびデプロイ済みの環境変数を取得し、それをテキスト形式でクライアントに応答することです。
コードをデプロイし、トリガールールまたは関数のデフォルトアクセスを通じて結果を確認できます。




変数タイプはJSON

環境変数とシークレットの作成およびデプロイ手順を繰り返し、タイプがJSONで変数名がtestJSONの環境変数を作成してデプロイします。以下に示します:



// エントリ関数
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
// 環境変数とシークレットから値を取得します。この変数はエッジ関数の環境変数に作成およびデプロイ済みである必要があります。
const myJsonData = env.testJSON;
// レスポンスボディを作成します。
const response = new Response(JSON.stringify(myJsonData), {
headers: {
'Content-Type': 'application/json'
}
});
// レスポンスを返します。
return response;
}
上記のコードの意味は、関数が作成およびデプロイ済みの環境変数を取得し、それをJSONデータ形式でクライアントに応答することです。
コードをデプロイし、トリガールールまたは関数のデフォルトアクセスを通じて結果を確認できます。




変数タイプはSecret

環境変数とシークレットの作成およびデプロイ手順を繰り返し、タイプがSecretで変数名がtestSecretの環境変数を作成してデプロイします。注意:保存後、変数値は表示されなくなりますので、適切に保管してください。以下に示します:



// エントリ関数
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
// 環境変数とシークレットから値を取得します。このシークレットはエッジ関数の環境変数に作成およびデプロイ済みである必要があります。
const secretData = env.testSecret;
// レスポンスボディを作成します。
const response = new Response(secretData, {
headers: {
'Content-Type': 'application/json'
}
});
// レスポンスを返します。
return response;
}
上記のコードの意味は、関数が作成およびデプロイ済みのシークレットを取得し、Body「secret」としてクライアントに応答することです。
コードをデプロイし、トリガールールまたは関数のデフォルトアクセスを通じて結果を確認できます。




環境変数とキーの編集

1. 環境変数とシークレットモジュールでは、変数タイプがStringまたはJSONの場合は編集可能で、Secretの場合は編集不可です。ある環境変数とシークレットの編集をクリックし、ポップアップで変数タイプと変数値を変更し、確定をクリックすると、編集内容を保存できます。
2. 環境変数とシークレットモジュールで、デプロイをクリックすると、今回の操作の具体的な更新内容を示すポップアップが表示されます。確定をクリックするとデプロイが完了します。




環境変数とキーの削除

環境変数とシークレットモジュールで、ある環境変数とシークレットの削除をクリックした後、デプロイをクリックすると、今回の操作で具体的に削除される環境変数とシークレットを示すポップアップが表示されます。確定をクリックするとデプロイが完了します。



注意:
関数が参照している環境変数とシークレットが上記の操作で削除された場合、関数コード内の関連する参照ロジックを調整してください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック