Azure Function: Slot Name

Anche con nelle Azure Functions e’ possibile ottenere piu’ slot (oltre a quello Production di default) per gestire i test pre rilascio verificando il nuovo codice.

Sapevate che via codice siete in grado di ottenere il nome dello slot corrente? A cosa vi potrebbe servire? Pensate anche solo a creare container o queue separate tra gli ambienti.

Vi state chiedendo come? Ecco svelato il mistero …

Environment Variable

Senza perdermi troppo in parole entro subito nel vivo del codice. Per svelare il nome dello slot dobbiamo chiedere aiuto alle Environment Variable nel seguente modo.

1
2
3
4
5
var slotName = 
    Environment.GetEnvironmentVariable(
        Const.APPSETTING_WEBSITE_SLOT_NAME,
        EnvironmentVariableTarget.Process
    );

Cosa vi manca ora? Semplicemente la definizione della costante APPSETTING_WEBSITE_SLOT_NAME appena utilizzata.

1
2
3
public const 
    string APPSETTING_WEBSITE_SLOT_NAME = 
        "APPSETTING_WEBSITE_SLOT_NAME";

Pensate sia tutto qui? Per ricavare il nome dello slot corrente si, ma a brevissimo seguira’ un tips per sfruttarlo nel codice a pieno!

GetEnvironmentVariable

Prima di chiudere parliamo di GetEnvironmentVariable e di come chiamarlo. Prendendo la documentazione dalla documentazione Microsoft “GetEnvironmentVariable

Il metodo usato ha due parametri in ingesso di tipo string e EnvironmentVariableTarget

1
public static string? GetEnvironmentVariable (string variable, EnvironmentVariableTarget target);

Nel dettaglio:

  • variable: Nome di una variabile di ambiente.
  • target: Uno dei valori di EnvironmentVariableTarget. Solo Process è supportato in .NET Core in esecuzione su sistemi basati su Unix.

Happy coding!