【发布时间】:2021-09-07 09:51:48
【问题描述】:
我们在 AWS Lambda 中使用这个函数,但是我们遇到了错误
运行时错误:无效的内存地址或零指针取消引用:errorString [{"path":"github.com/aws/aws-lambda-go@v1.24.0/lambda/errors.go","line":39,"label":"lambdaPanicResponse"},{"path": "github.com/aws/aws-lambda-go@v1.24.0/lambda/function.go","line":36,"label":"(Function).Invoke.func1"},{"path": "runtime/panic.go","line":679,"label":"gopanic"},{"path":"runtime/panic.go","line":199,"label":"panicmem"} ,{"path":"runtime/signal_unix.go","line":394,"label":"sigpanic"},{"path":"Lamda/main.go","line":55,"label ":"HandlerAcus"},{"path":"reflect/value.go","line":460,"label":"Value.call"},{"path":"reflect/value.go", "line":321,"label":"Value.Call"},{"path":"github.com/aws/aws-lambda-go@v1.24.0/lambda/handler.go","line": 124,"标签":"NewHandler.func1"},"路径":"github.com/aws/aws-lambda-go@v1.24.0/lambda/handler.go","line":24,"标签":"lambdaHandler.Invoke"},{"path":"github.com/aws/aws-lambda-go@v1.24.0/lambda/function.go","line":64,"label":"( Function).Invoke"},{"path":"reflect/value.go","line":460,"label":"Value.call"},{"path":"reflect/value.go", “行”:321,“标签”:“值e.Call"},{"path":"net/rpc/server.go","line":377,"label":"(*service).call"},{"path":"runtime/asm_amd64 .s","line":1357,"label":"goexit"}]
代码是
func main() {
lambda.Start(proceso)
}
func proceso(parametros Parametros) {
cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-east-1"))
if err != nil {
log.Fatalf("unable to load SDK config, %v", err)
}
acusN32 := int32(parametros.Acus)
svc := rds.NewFromConfig(cfg)
// Configura el objeto rds.ModifyCurrentDBClusterCapacityInput
var param rds.ModifyDBClusterInput
param.ScalingConfiguration.MinCapacity = &acusN32
param.DBClusterIdentifier = ¶metros.Instancia
/* resp, err := svc.ModifyCurrentDBClusterCapacity(context.TODO(), ¶m) */
resp, err := svc.ModifyDBCluster(context.TODO(), ¶m)
if err != nil {
log.Fatalf("falló al modificar ACUS, %v", err)
} else {
log.Println("Los ACUS de " + *¶metros.Instancia + " quedaron seteados en " + string(*resp.DBCluster.Capacity))
}
}
线路错误是这样的
var param rds.ModifyDBClusterInput
param.ScalingConfiguration.MinCapacity = &acusN32
param.DBClusterIdentifier = ¶metros.Instancia`
怎么了?
&acusN32 是一个有效的 int32 指针
【问题讨论】:
标签: amazon-web-services go aws-lambda nullpointerexception null-pointer