signalfx/lambda-layer-versions

splunk-apm layer not accessible/public

Closed this issue · 4 comments

I have just tried to use the layer arn:aws:lambda:eu-west-1:254067382080:layer:splunk-apm:5 as mentioned at https://github.com/signalfx/lambda-layer-versions/blob/master/splunk-apm/splunk-apm.md but it seems this is not a public layer?

An error occurred: HelloLambdaFunction - Resource handler returned message: "User: arn:aws:iam::xxxxxx:user/serverless-deploy is not authorized to perform: lambda:GetLayerVersion on resource: arn:aws:lambda:eu-west-1:254067382080:layer:splunk-apm:5 (Service: Lambda, Status Code: 403, Request ID: 1c84af64-770f-44f2-aa5a-9b74799f4fb7, Extended Request ID: null)" (RequestToken: 1422e04f-c826-d8c0-9bd0-0afec319ac6c, HandlerErrorCode: AccessDenied).

The user I am using has full access on AWS:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

@drissamri thanks for your report, looking into this. Layers should be made public tomorrow latest.

Hey @drissamri the layer has been made available in the us-west-1. Please have a look and let us know if it works for you. Please also note that tomorrow we're going to release a newer version of the layer (binding to OTel 1.6).

Now I was able to access the layer indeed. Sending in a test event gives an exception:

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}
{
  "errorMessage": "argument type mismatch",
  "errorType": "java.lang.IllegalArgumentException",
  "stackTrace": [
    "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
    "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)",
    "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)",
    "java.base/java.lang.reflect.Method.invoke(Unknown Source)",
    "io.opentelemetry.instrumentation.awslambda.v1_0.TracingRequestWrapperBase.doHandleRequest(TracingRequestWrapperBase.java:59)",
    "io.opentelemetry.instrumentation.awslambda.v1_0.TracingRequestHandler.handleRequest(TracingRequestHandler.java:75)",
    "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
    "java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)",
    "java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)",
    "java.base/java.lang.reflect.Method.invoke(Unknown Source)"
  ]
}

This is the same exception as signalfx/splunk-otel-java-lambda#33 so we can continue there.
If all layers have been made public this can be closed for me. :)

Closing then :)