簡體   English   中英

我如何使用 os.environ select 環境變量(使用 VSCode 和 Python)

[英]How do I select environment variables using os.environ (using VSCode & Python)

我正在 VSCode 中構建一個 Azure Function 並且無法在本地獲取我的 function 以引用我添加到 local.settings.json 的環境變量,因為我在嘗試訪問我的環境變量時遇到錯誤。 我想訪問名為 clientId 的那個。

我的 local.settings.json:

    {
      "IsEncrypted": false,
      "Values": {
      "AzureWebJobsStorage": "",
      "FUNCTIONS_WORKER_RUNTIME": "python",
      "clientId": "test123"
      }
    }

我的腳本:

import os
import azure.functions as func

print(os.environ['clientId'])

錯誤:

  File "c:\Users\xxxx\source\Repos\xxxx\Python\xxxx\HttpTrigger1\__init__.py", line 7, in <module>
    print(os.environ['clientID'])
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\os.py", 
line 679, in __getitem__
    raise KeyError(key) from None
KeyError: 'clientID'

為了嘗試解決此問題,我嘗試打印所有期望看到我的 local.settings.json 的環境變量,但是我沒有看到任何類似於 local.settings.json 文件的內容。

腳本:

import os
import azure.functions as func

print(os.environ)

回復:

environ({
   "ALLUSERSPROFILE":"C:\\ProgramData",
   "APPDATA":"C:\\Users\\xxxx\\AppData\\Roaming",
   "CHROME_CRASHPAD_PIPE_NAME":"\\\\.\\pipe\\crashpad_4888_HMCJUBDIIALYYBRP",
   "COMMONPROGRAMFILES":"C:\\Program Files\\Common Files",
   "COMMONPROGRAMFILES(X86)":"C:\\Program Files (x86)\\Common Files",
   "COMMONPROGRAMW6432":"C:\\Program Files\\Common Files",
   "COMPUTERNAME":"xxxx",
   "COMSPEC":"C:\\windows\\system32\\cmd.exe",
   "DEPLOYMENT.EXPIRATION.CHECK.ENABLED":"false",
   "DRIVERDATA":"C:\\Windows\\System32\\Drivers\\DriverData",
   "FPS_BROWSER_APP_PROFILE_STRING":"Internet Explorer",
   "FPS_BROWSER_USER_PROFILE_STRING":"Default",
   "HOMEDRIVE":"C:",
   "HOMEPATH":"\\Users\\xxxN",
   "LOCALAPPDATA":"C:\\Users\\xxxN\\AppData\\Local",
   "LOG4J_FORMAT_MSG_NO_LOOKUPS":"true",
   "LOGONSERVER":"\\\\xxxxxxxxxx",
   "NUMBER_OF_PROCESSORS":"8",
   "ONEDRIVE":"C:\\Users\\xxxN\\OneDrive - xxx",
   "ONEDRIVECOMMERCIAL":"C:\\Users\\xxxN\\OneDrive - xxx",
   "ORIGINAL_XDG_CURRENT_DESKTOP":"undefined",
   "OS":"Windows_NT",
   "PATH":"C:\\Program Files\\Eclipse Foundation\\jdk-8.0.302.8-hotspot\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Gemalto\\Classic Client\\BIN;C:\\Program Files (x86)\\Gemalto\\Classic Client\\BIN;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files\\dotnet\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Program Files\\Azure Data Studio\\bin;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files (x86)\\dotnet\\;C:\\Users\\xxxN\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\Users\\xxxxN\\AppData\\Local\\Programs\\Azure Data Studio\\bin;C:\\Users\\xxxxN\\AppData\\Local\\Programs\\Microsoft VS Code\\bin",
   "PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL",
   "PROCESSOR_ARCHITECTURE":"AMD64",
   "PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 140 Stepping 1, GenuineIntel",
   "PROCESSOR_LEVEL":"6",
   "PROCESSOR_REVISION":"8c01",
   "PROGRAMDATA":"C:\\ProgramData",
   "PROGRAMFILES":"C:\\Program Files",
   "PROGRAMFILES(X86)":"C:\\Program Files (x86)",
   "PROGRAMW6432":"C:\\Program Files",
   "PSMODULEPATH":"C:\\Users\\xxxxN\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules",
   "PUBLIC":"C:\\Users\\Public",
   "SESSIONNAME":"Console",
   "SYSTEMDRIVE":"C:",
   "SYSTEMROOT":"C:\\windows",
   "TEMP":"C:\\Users\\xxxxN\\AppData\\Local\\Temp",
   "TMP":"C:\\Users\\xxxxN\\AppData\\Local\\Temp",
   "UID":"fxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxf",
   "USERDNSDOMAIN":"BLUE.LOCAL",
   "USERDOMAIN":"BLUE",
   "USERDOMAIN_ROAMINGPROFILE":"BLUE",
   "USERNAME":"xxxxx",
   "USERPROFILE":"C:\\Users\\xxxxN",
   "WINDIR":"C:\\windows",
   "ZES_ENABLE_SYSMAN":"1",
   "TERM_PROGRAM":"vscode",
   "TERM_PROGRAM_VERSION":"1.66.0",
   "LANG":"en_US.UTF-8",
   "COLORTERM":"truecolor",
   "VSCODE_GIT_IPC_HANDLE":"\\\\.\\pipe\\vscode-git-33ca814331-sock",
   "VSCODE_GIT_ASKPASS_NODE":"C:\\Users\\xxxN\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe",
   "VSCODE_GIT_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node",
   "VSCODE_GIT_ASKPASS_MAIN":"c:\\Users\\xxxxN\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js",
   "GIT_ASKPASS":"c:\\Users\\xxxxx\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh",
   "PYTHONUSERBASE":"C:\\Users\\xxxxx\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\LocalCache\\local-packages"
})

local.settings.json是Azure函數使用的配置文件。 它不是鏈接到 Python 本身的東西,可以直接在任何環境中工作。

使用這個模塊,如果你用它啟動 Azure Function,它應該在本地模擬 AzureDevOps 上下文。

https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM