"Bucket name must match the regex" 使用 AWS SAM 时出错
"Bucket name must match the regex" error when using AWS SAM
使用 aws-sam-cli==0.48.0 我正在尝试将 lambda 上传到 AWS S3 存储桶的现有文件夹中。路径是"my-modelling/lambdas"
当我在 MacOS 命令行上执行此命令时:
sam package --template-file template.yaml --output-template-file deploy --s3-bucket my-modelling/lambdas
我得到:
Error: Unable to upload artifact module/ referenced by CodeUri parameter of MyFunction resource.
Parameter validation failed:
Invalid bucket name "my-modelling/lambdas": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$" or be an ARN matching the regex "^arn:(aws).*:s3:[a-z\-0-9]+:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\-]{1,63}$"
请注意,如果我只指定存储桶名称,这可以正常工作:
sam package --template-file template.yaml --output-template-file deploy --s3-bucket my-modelling
你能告诉我指定文件夹的正确语法是什么吗?
来自docs:
Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-).
因此,您的存储桶名称 my-modelling/lambdas
不正确,因为它包含 /
.
要添加 prefix 使用 --s3-prefix
:
Prefix added to the artifacts name that are uploaded to the Amazon S3 bucket. The prefix name is a path name (folder name) for the Amazon S3 bucket.
使用 aws-sam-cli==0.48.0 我正在尝试将 lambda 上传到 AWS S3 存储桶的现有文件夹中。路径是"my-modelling/lambdas"
当我在 MacOS 命令行上执行此命令时:
sam package --template-file template.yaml --output-template-file deploy --s3-bucket my-modelling/lambdas
我得到:
Error: Unable to upload artifact module/ referenced by CodeUri parameter of MyFunction resource.
Parameter validation failed:
Invalid bucket name "my-modelling/lambdas": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$" or be an ARN matching the regex "^arn:(aws).*:s3:[a-z\-0-9]+:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\-]{1,63}$"
请注意,如果我只指定存储桶名称,这可以正常工作:
sam package --template-file template.yaml --output-template-file deploy --s3-bucket my-modelling
你能告诉我指定文件夹的正确语法是什么吗?
来自docs:
Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-).
因此,您的存储桶名称 my-modelling/lambdas
不正确,因为它包含 /
.
要添加 prefix 使用 --s3-prefix
:
Prefix added to the artifacts name that are uploaded to the Amazon S3 bucket. The prefix name is a path name (folder name) for the Amazon S3 bucket.