我使用 ILogger 的注入实例而不是 TraceWritter。该实例是从 Azure Function Runtime 注入的。我想记录捕获的异常。LogError 唯一可以接受异常的重载是 LoggerExtensions 类的扩展方法:
void LogError(this ILogger logger, EventId eventId, Exception exception, string message, params object[] args)
Run Code Online (Sandbox Code Playgroud)
问题是:这个方法接收一个 EventId 作为第二个参数,我可以从哪里获取当前的 EventId 在这里使用?(我想每个 AF 执行都有他唯一的 EventId)。
我有一个azure函数,即使我在project.json文件中指定了依赖项后,也会抛出以下错误.
"无法加载文件或程序集'Microsoft.WindowsAzure.Storage,Version = 8.1.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项.系统找不到指定的文件."
{
"frameworks": {
"net46": {
"dependencies": {
"WindowsAzure.Storage": "8.1.1"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图重新启动应用服务,创建另一个FunctionApp来排除主机没有加载更新的程序集的任何问题,但我仍然无法让它工作.
Nuget还可以显示正在恢复此程序集,但仍会不断发出此错误.还有什么可能是错的以及如何调试此问题?
我正在尝试IExceptionHandler使用我的Azure功能(C#类库).我的想法是拥有自己的异常处理程序,用于包含我自己的内存中跟踪日志的意外异常; 澄清一下,我确实希望将这些发送到客户端浏览器并显示给用户.
细节如下.
使用这个简单的自定义异常处理
public sealed class CustomExceptionHandler : ExceptionHandler
{
public override void Handle(ExceptionHandlerContext context)
{
context.Result = new ResponseMessageResult(
context.Request.CreateErrorResponse(HttpStatusCode.BadRequest,
"custom message string"));
}
}
Run Code Online (Sandbox Code Playgroud)
我试过安装它:
[FunctionName("Function1")]
public static HttpResponseMessage Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "works")]
HttpRequestMessage req)
{
req.GetConfiguration().Services.Replace(typeof(IExceptionHandler),
new CustomExceptionHandler());
throw new Exception("unexpected exception");
}
Run Code Online (Sandbox Code Playgroud)
但是在部署时,我只是得到通用的"操作失败"错误消息(例如,从Chrome格式化XML):
<ApiErrorModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Microsoft.Azure.WebJobs.Script.WebHost.Models">
<Arguments xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true"/>
<ErrorCode>0</ErrorCode>
<ErrorDetails i:nil="true"/>
<Id>dec07825-cf4e-49cc-a80e-bef0dbd01ba0</Id>
<Message>An error has occurred. For more information, please check the logs for error ID dec07825-cf4e-49cc-a80e-bef0dbd01ba0</Message>
<RequestId>51df1fec-c1c2-4635-b82c-b00d179d2e50</RequestId> …Run Code Online (Sandbox Code Playgroud) 因此,根据GitHub上的这个问题,IQueryable对v2 Azure功能的支持被删除了.这也反映在官方文档中.该文档还提到CloudTable可以用于绑定到表存储,但是没有提供具体的信息或示例.在一个最小的工作示例中,v2 Azure功能的表存储绑定如何(例如,从表存储中读取表的所有行)?任何帮助都非常感谢!
我需要可以从PS-Gallery获得的AWS模块,但是当我尝试在Azure功能中运行安装步骤时,它不起作用.-verbose参数标志未向控制台写入任何内容.
在Azure功能中获取和使用其他PowerShell模块的正确方法是什么?
[Console]::WriteLine("PowerShell Timer trigger function executed at:$(get-date)");
if (-not (Get-Module -Name "AWSPowerShell")) {
[Console]::WriteLine("AWSPowerShell not installed");
Install-Module -Name AWSPowerShell -Scope CurrentUser -ErrorAction Continue -Verbose
}
if (-not (Get-Module -Name "AWSPowerShell")){
[Console]::WriteLine("AWSPowerShell install step failed");
}
Run Code Online (Sandbox Code Playgroud)
2016-06-09T11:24:31.108 Function started (Id=e09be687-2e13-4754-942e-eab75c8516e5)
2016-06-09T11:24:32.788 Powershell Timer trigger function executed at:06/09/2016 11:24:32
AWSPowerShell not installed
AWSPowerShell install step failed
2016-06-09T11:24:32.788 Function completed (Success, Id=e09be687-2e13-4754-942e-eab75c8516e5)
Run Code Online (Sandbox Code Playgroud)
根据@travis的回答,我添加了建议的代码,包括nuget包管理器行.这仍然无效.我添加了另一个调试行,发现即使在尝试添加nuget之后也没有模块提供者!
[Console]::WriteLine("Powershell Timer trigger function executed at:$(get-date)");
Get-PackageProvider -Name nuget -ForceBootstrap
$pkg=Get-PackageProvider -ListAvailable
if …Run Code Online (Sandbox Code Playgroud) 函数是否支持在消费计划中使用客户端证书授权访问函数?类似于此处描述的方法?基本上,如果调用方没有提供有效的客户端证书,我正在寻找函数运行时立即拒绝连接请求,而我不必在代码中实现该授权例程。
随着时间的推移.git,TFS 2013(Update 4)上托管的Git存储库的文件夹大小会增加.
每当克隆这些存储库时,.git文件夹最初的大小可能很大,直到git gc --aggressive --prune=now手动执行.
微软表示,TFS 2013不会自行执行git gc操作.不幸的是,似乎也无法强迫TFS这样做.
有没有办法gc/prune托管在TFS 2013中的Git存储库来减少.git目录的初始大小?
Node.js和C#都被描述为 Azure Functions 中的第一类支持。
是否有关于使用 Node.js 与 C# 的比较文档(或反馈)?
我担心的是Azure 集成和性能
选择 Node.js 或 C# 的用例是什么(语言偏好除外)
我的函数将从现有的 ServiceBus 主题触发。我已经使用 VS2017 (15.3) 预览版中的新工具创建了该函数,作为编译函数。
如何在本地测试此功能?
azure azureservicebus azure-servicebus-topics azure-functions
我有一个Azure功能,它连接到App Insights实例.功能应用程序发出日志消息,我可以在Azure门户的日志流中看到这些消息,以及App Insights跟踪.
我通过向(https://github.com/Azure/azure-webjobs-sdk-script/wiki/host.json)添加一个"tracing"元素将控制台日志级别增加到Verbose ,因此详细信息会显示在日志中流(在Azure门户的功能页面和Kudu中),但我无法在App Insights中显示详细级别跟踪.host.json
有谁知道如何让App Insights显示Azure功能的详细级别跟踪?它甚至可能吗?(信息跟踪及以上内容在App Insights中显示得很好)