我们使用Java开发一个使用NetBeans作为后端的Web应用程序。我想从环境(如Dev,Prod,Stage)而不是XML文件中读取InstrumentationKey。我读过enter link description here,但我仍然不知道从哪里开始。有人可以帮我吗?
答案 0 :(得分:2)
请参阅链接https://azure.microsoft.com/en-us/documentation/articles/app-insights-api-custom-events-metrics/#dynamic-ikey和类的Javadoc com.microsoft.applicationinsights.TelemetryClient& http://dl.windowsazure.com/applicationinsights/javadoc/中的com.microsoft.applicationinsights.telemetry.TelemetryContext。我建议您参考本办公室文档,了解如何使用Java进行应用程序洞察:https://azure.microsoft.com/en-us/documentation/articles/app-insights-java-get-started/
为避免将遥测与开发,测试和生产环境混淆,您可以根据环境更改检测键。 您可以在代码中设置它,而不是从配置XML文件中获取检测密钥。在初始化方法中设置密钥。
Java示例代码:
import com.microsoft.applicationinsights.TelemetryClient;
import com.microsoft.applicationinsights.telemetry.TelemetryContext;
TelemetryClient client = new TelemetryClient();
TelemetryContext context = client.getContext();
// Change instrumentationKey
// Step #1: Get OS Environment Variable
String env = System.getenv("APP_INSIGHTS_ENV");
// Step #2: Get Key from Properties file
Properties props = new Properties();
props.load(...);
String myKey = props.getProperty(env);
Context.setInstrumentationKey(myKey);
另外,您可以使用C#来引用这种类似的场景:
最诚挚的问候。