このガイドでは、アプリケーションをテストするときに、Azure AI サービスの資格情報について環境変数を設定し、それを取得する方法について説明します。
重要
Microsoft Entra 認証と Azure リソースのマネージド ID を併用して、クラウドで実行されるアプリケーションに資格情報を格納しないようにすることをお勧めします。
API キーは慎重に使用してください。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。 API キーを使用する場合は、Azure Key Vault に安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用して Azure Key Vault へのアクセスを制限してください。 アプリで API キーを安全に使用する方法の詳細については、Azure Key Vault を使用した API キーに関する記事を参照してください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
環境変数を設定する
環境変数を設定するには、次のいずれかのコマンドを使用します。ENVIRONMENT_VARIABLE_KEY
は名前付きのキーであり、value
は環境変数に格納される値です。
次のコマンドを使用して、入力値を指定して永続化された環境変数を作成して割り当てます。
:: Assigns the env var to the value
setx ENVIRONMENT_VARIABLE_KEY "value"
コマンド プロンプトの新しいインスタンスで、次のコマンドを使用して環境変数を読み取ります。
:: Prints the env var value
echo %ENVIRONMENT_VARIABLE_KEY%
次のコマンドを使用して、入力値を指定して永続化された環境変数を作成して割り当てます。
# Assigns the env var to the value
[System.Environment]::SetEnvironmentVariable('ENVIRONMENT_VARIABLE_KEY', 'value', 'User')
Windows PowerShell の新しいインスタンスで、次のコマンドを使用して環境変数を読み取ります。
# Prints the env var value
[System.Environment]::GetEnvironmentVariable('ENVIRONMENT_VARIABLE_KEY')
次のコマンドを使用して、入力値を指定して永続化された環境変数を作成して割り当てます。
# Assigns the env var to the value
echo export ENVIRONMENT_VARIABLE_KEY="value" >> /etc/environment && source /etc/environment
Bash の新しいインスタンスで、次のコマンドを使用して環境変数を読み取ります。
# Prints the env var value
echo "${ENVIRONMENT_VARIABLE_KEY}"
# Or use printenv:
# printenv ENVIRONMENT_VARIABLE_KEY
ヒント
環境変数を設定した後、統合開発環境 (IDE) を再起動して、新しく追加した環境変数を使用できることを確認します。
環境変数を取得する
コード内で環境変数を使用するには、メモリに読み込む必要があります。 使用している言語に応じて、次のいずれかのコード スニペットを使用します。 これらのコード スニペットでは、ENVIRONMENT_VARIABLE_KEY
で指定された環境変数を取得し、その値を value
という名前のプログラム変数に代入する方法が示されています。
詳細については、「Environment.GetEnvironmentVariable
」を参照してください。
using static System.Environment;
class Program
{
static void Main()
{
// Get the named env var, and assign it to the value variable
var value =
GetEnvironmentVariable(
"ENVIRONMENT_VARIABLE_KEY");
}
}
詳細については、次のトピックを参照してください。 getenv_s
および getenv
#include <iostream>
#include <stdlib.h>
std::string GetEnvironmentVariable(const char* name);
int main()
{
// Get the named env var, and assign it to the value variable
auto value = GetEnvironmentVariable("ENVIRONMENT_VARIABLE_KEY");
}
std::string GetEnvironmentVariable(const char* name)
{
#if defined(_MSC_VER)
size_t requiredSize = 0;
(void)getenv_s(&requiredSize, nullptr, 0, name);
if (requiredSize == 0)
{
return "";
}
auto buffer = std::make_unique<char[]>(requiredSize);
(void)getenv_s(&requiredSize, buffer.get(), requiredSize, name);
return buffer.get();
#else
auto value = getenv(name);
return value ? value : "";
#endif
}
詳細については、「System.getenv
」を参照してください。
import java.lang.*;
public class Program {
public static void main(String[] args) throws Exception {
// Get the named env var, and assign it to the value variable
String value =
System.getenv(
"ENVIRONMENT_VARIABLE_KEY")
}
}
詳細については、「process.env
」を参照してください。
// Get the named env var, and assign it to the value variable
const value =
process.env.ENVIRONMENT_VARIABLE_KEY;
詳細については、「os.environ
」を参照してください。
import os
# Get the named env var, and assign it to the value variable
value = os.environ['ENVIRONMENT_VARIABLE_KEY']
詳細については、「environment
」を参照してください。
// Get the named env var, and assign it to the value variable
NSString* value =
[[[NSProcessInfo processInfo]environment]objectForKey:@"ENVIRONMENT_VARIABLE_KEY"];
次のステップ