I’m creating a Lambda layer from a public artifact:
https://aws-data-wrangler.readthedocs.io/en/2.10.0/install.html#public-artifacts
I can create the layer via serverless
after downloading the .zip file to my local:
layers:
AwsDataWrangler:
package:
artifact: awswrangler-layer-2.10.0-py3.8.zip
That works fine, but I’d like to be able pull the artifact from their pubic S3 bucket during packaging and deployment with something like…
layers:
AwsDataWrangler:
package:
artifact: s3://aws-data-wrangler-public-artifacts/releases/2.10.0/awswrangler-layer-2.10.0-py3.8.zip
The following documentation pages suggest that I should be able to reference an artifact hosted in S3 with the above syntax: https://www.serverless.com/framework/docs/providers/aws/guide/packaging/. But I get the following error when I try:
[OperationalError: ENOENT: no such file or directory, open 's3://aws-data-wrangler-public-artifacts/releases/2.10.0/awswrangler-layer-2.10.0-py3.8.zip'] {
cause: [Error: ENOENT: no such file or directory, open 's3://aws-data-wrangler-public-artifacts/releases/2.10.0/awswrangler-layer-2.10.0-py3.8.zip'] {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 's3://aws-data-wrangler-public-artifacts/releases/2.10.0/awswrangler-layer-2.10.0-py3.8.zip'
},
isOperational: true,
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 's3://aws-data-wrangler-public-artifacts/releases/2.10.0/awswrangler-layer-2.10.0-py3.8.zip'
}
The doc page linked above says that S3 artifacts are supported for “service-wide and function-level artifact setups”, so I’m wondering if this just isn’t supported for Lambda Layers or if I’m just doing it wrong.