Uso de variables de entorno con servicios de Azure AI
Artículo
En esta guía se muestra cómo establecer y recuperar variables de entorno para controlar las credenciales de suscripción de servicios de Azure AI de forma más segura al probar las aplicaciones.
Establecimiento de una variable de entorno
Para establecer las variables de entorno, use uno de los siguientes comandos (donde ENVIRONMENT_VARIABLE_KEY es la clave con nombre y value es el valor almacenado en la variable de entorno).
Use el siguiente comando para crear y asignar una variable de entorno persistente, según el valor de entrada.
:: Assigns the env var to the value
setx ENVIRONMENT_VARIABLE_KEY "value"
En una nueva instancia del símbolo del sistema, lea la variable de entorno con el comando siguiente.
:: Prints the env var value
echo %ENVIRONMENT_VARIABLE_KEY%
Use el siguiente comando para crear y asignar una variable de entorno persistente, según el valor de entrada.
# Assigns the env var to the value
[System.Environment]::SetEnvironmentVariable('ENVIRONMENT_VARIABLE_KEY', 'value', 'User')
En una nueva instancia de Windows PowerShell, lea la variable de entorno con el comando siguiente.
# Prints the env var value
[System.Environment]::GetEnvironmentVariable('ENVIRONMENT_VARIABLE_KEY')
Use el siguiente comando para crear y asignar una variable de entorno persistente, según el valor de entrada.
# Assigns the env var to the value
echo export ENVIRONMENT_VARIABLE_KEY="value" >> /etc/environment && source /etc/environment
En una nueva instancia de Bash, lea la variable de entorno con el comando siguiente.
# Prints the env var value
echo "${ENVIRONMENT_VARIABLE_KEY}"
# Or use printenv:
# printenv ENVIRONMENT_VARIABLE_KEY
Sugerencia
Después de establecer una variable de entorno, reinicie su entorno de desarrollo integrado (IDE) para asegurarse de que las variables de entorno recién agregadas están disponibles.
Recuperación de una variable de entorno
Para usar una variable de entorno en el código, se debe leer en memoria. Use uno de los siguientes fragmentos de código, en función del idioma. Estos fragmentos de código muestran cómo obtener una variable de entorno, con una ENVIRONMENT_VARIABLE_KEY específica y asignar el valor a una variable de programa denominada value.
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");
}
}
#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
}
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")
}
}
// Get the named env var, and assign it to the value variable
NSString* value =
[[[NSProcessInfo processInfo]environment]objectForKey:@"ENVIRONMENT_VARIABLE_KEY"];