Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Azure SDK 2.5中更改每个服务配置的诊断存储位置_Azure_Azure Web Roles_Azure Diagnostics - Fatal编程技术网

如何在Azure SDK 2.5中更改每个服务配置的诊断存储位置

如何在Azure SDK 2.5中更改每个服务配置的诊断存储位置,azure,azure-web-roles,azure-diagnostics,Azure,Azure Web Roles,Azure Diagnostics,在Azure SDK 2.5中,存储帐户在角色的wadcfgx中设置如下: <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> <StorageAccount name="myDiagnosticAccount" endpoint="https://core.windows.net/" /> 问题是,我想为暂存和生产

在Azure SDK 2.5中,存储帐户在角色的wadcfgx中设置如下:

<PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<StorageAccount name="myDiagnosticAccount" endpoint="https://core.windows.net/" />

问题是,我想为暂存和生产使用单独的诊断帐户。像这样:

登台

<PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<StorageAccount name="myProductionDiagStorageAccount" endpoint="https://core.windows.net/" />
</PrivateConfig>

用于生产

<PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<StorageAccount name="myStageDiagStorageAccount" endpoint="https://core.windows.net/" />
</PrivateConfig>

但我看不到任何可能的方法来实现这一点,因为此配置是按角色而不是按服务配置进行的。在前面的SDK中,我曾设置两个不同的诊断连接字符串-“Microsoft.WindowsAzure.Plugins.diagnostics.ConnectionString”,并且一切正常


我现在如何在SDK 2.5中实现这一点?

你说得对。使用SDK 2.5,无法为不同的部署环境定义不同的存储帐户

一种可能是保留两个单独的诊断配置文件(一个用于暂存,另一个用于生产)。您需要在部署期间禁用诊断功能,一旦部署代码,就可以使用Cmdlet启用诊断功能

事实上,这似乎是基于这篇博文推荐的方法:(请参阅标题为“通过PowerShell启用诊断扩展”的部分)。从博客帖子:

由于Azure SDK 2.5使用扩展模型,因此诊断 扩展名、配置和到的连接字符串 诊断存储不再是部署包的一部分,并且 cscfg。所有诊断配置都包含在 wadcfgx。这种方法的优点是诊断代理 和设置与项目分离,可以动态地 即使在部署应用程序后也已启用和更新

由于这一变化,需要重新考虑一些现有的工作流- 而不是将诊断配置为应用程序的一部分 部署到可以首先部署应用程序的每个环境 应用到环境中,然后为应用诊断配置 信息技术从VisualStudio发布应用程序时,此过程 自动为您完成。但是,如果您正在部署 使用PowerShell的VS之外的应用程序,然后您必须安装 扩展将通过PowerShell单独启动

更新-2015年5月26日

SDK 2.6实际上支持不同部署环境的不同存储帐户。从:

现在可以在服务中指定诊断存储帐户 配置(.cscfg)文件使使用不同的 针对不同环境的诊断存储帐户


如果您已经在使用SDK 2.5,我建议您将其升级到SDK 2.6。

Ouch。这意味着,当我决定迁移到v2.4而不是v2.5时,我是对的!除非有人在其云服务中需要ETW,否则我的建议是坚持使用2.4,并希望在2.6中情况会有所改善。是否可以在发布之前直接运行构建后事件并编辑wadcfgx?老实说,我不知道这一点。你可以试一试,看看效果如何。