using Amazon.Lambda.Core;
using Amazon.Lambda.Serialization.SystemTextJson;
using Amazon.Lambda.SQSEvents;
using Npgsql;
[assembly: LambdaSerializer(typeof(DefaultLambdaJsonSerializer))]
namespace MyLambdaFunction
{
public class Function
{
public void FunctionHandler(SQSEvent evnt, ILambdaContext context)
{
var connString = "Server=myServerAddress;Port=12345;Database=myDataBase;User Id=myUsername;Password=myPassword;";
using var conn = new NpgsqlConnection(connString);
conn.Open();
using var cmd = new NpgsqlCommand
{
Connection = conn,
CommandText = "SELECT version()"
};
using var reader = cmd.ExecuteReader();
reader.Read();
context.Logger.LogLine(reader.GetString(0));
}
}
}
using Amazon.Lambda.Core;
using Serilog;
using Serilog.Core;
using Serilog.Sinks.PostgreSQL;
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]
namespace MyLambdaFunction
{
public class Function
{
private static Logger _logger;
static Function()
{
_logger = new LoggerConfiguration()
.WriteTo.PostgreSQL("Host=myServerAddress;Port=12345;Database=myDataBase;Username=myUsername;Password=myPassword;",
tableName: "Logs",
needAutoCreateTable: true)
.CreateLogger();
Log.Logger = _logger;
}
public void FunctionHandler()
{
Log.Information("Hello, world!");
}
}
}
以上代码仅供参考,确保根据实际情况修改配置项。同时,可以使用Serilog的自动配置进行配置,使用以下