当前位置: 首页 > 知识库问答 >
问题:

aws cloudformation-位于“content.s3Bucket”的值未能满足约束:成员必须满足正则表达式模式

乜明朗
2023-03-14

我打算访问zip文件的s3存储桶。
当我使用下面的代码时,它可以访问存储桶,因为它使用存储桶的根目录。

“S3Bucket”:{“Ref”:“HandlerCodeS3Bucket”},

当我想访问同一个bucket的layers文件夹时,我使用HandlerCodeS3BucketLayer参数。
但它显示以下错误。

1 validation error detected: Value 'admin-sourcecode/layers' at 'content.s3Bucket' failed to satisfy constraint: Member must satisfy regular expression pattern: ^[0-9A-Za-z\.\-_]*(?<!\.)$ (Service: AWSLambdaInternal; Status Code: 400; Error Code: ValidationException; Request ID: xxx)
{
    "AWSTemplateFormatVersion": "2010-09-09",
    
    "Parameters": {
      "HandlerCodeS3Bucket": {
        "Type": "String",
        "Default": "admin-sourcecode"
      },
      "HandlerCodeS3BucketLayer": {
        "Type": "String",
        "Default": "admin-sourcecode/layers"
      }
    },
    "Resources": {
      "MyLayer": {
        "Type": "AWS::Lambda::LayerVersion",
        "Properties": {
            "CompatibleRuntimes": [
                "nodejs12.x"
            ],
            "Content": {
                "S3Bucket": {
                  "Ref": "HandlerCodeS3BucketLayer"
                },
                "S3Key": "imageUploadLayer.zip"
            },
            "Description": "My layer",
            "LayerName": "imageLayer",
            "LicenseInfo": "MIT"
        }
    }
   }
  }

共有1个答案

韩捷
2023-03-14

Bucket name不能包含斜杠:

admin-sourcecode/layers

也许在您的代码中应该是:

{
    "AWSTemplateFormatVersion": "2010-09-09",
    
    "Parameters": {
      "HandlerCodeS3Bucket": {
        "Type": "String",
        "Default": "admin-sourcecode"
      },
      "HandlerCodeS3BucketLayer": {
        "Type": "String",
        "Default": "admin-sourcecode"
      }
    },
    "Resources": {
      "MyLayer": {
        "Type": "AWS::Lambda::LayerVersion",
        "Properties": {
            "CompatibleRuntimes": [
                "nodejs12.x"
            ],
            "Content": {
                "S3Bucket": {
                  "Ref": "HandlerCodeS3BucketLayer"
                },
                "S3Key": "layers/imageUploadLayer.zip"
            },
            "Description": "My layer",
            "LayerName": "imageLayer",
            "LicenseInfo": "MIT"
        }
    }
   }
  }
 类似资料:
  • 我正在尝试在AWS中应用身份池策略。我正在使用awc cli设置策略,但标题中经常出现以下例外情况: 调用AttachPrincipalPolicy操作时发生错误(InvalidRequestException):检测到1个验证错误:“policyName”处的值“DeviceShadowPolicy”未能满足约束:成员必须满足正则表达式模式:[\w=,。@-] 这是我使用的命令: 我不明白为什么

  • 我正在使用Eclipse for Java和AWS工具包。我运行以下代码: 我在控制台视图中看到: […{Name:Name,AttributeDataType:String,DeveloperOnlyAttribute:false,Mutable:true,Required:false,StringAttributeConstraints:{MinLength:0,MaxLength:2048}

  • 我正在创建一个AWS CodePipeline资源与terraform: 运行时,在它返回 编辑: 新的部署阶段是: 我有这个应用程序创建使用: 组使用:

  • 我正在通过Sagemaker将模型部署到AWS上: 我将JSON模式设置如下: 并部署为: 我得到的错误如下: ClientError:调用CreateModel操作时发生错误(ValidationException):检测到1个验证错误:值“{SAGEMAKER_SPARKML_SCHEMA={”输入“:[{”类型“:“double”,“名称“:“V1”},{”类型“:“V2”},{”类型“:“

  • 我正在尝试使用AWS CDK创建AWS用户池客户端。我正在使用python代码进行此操作。下面是我的代码- 我已经尝试了不同的选项,作为"TOKEN","令牌","代码","代码","代码"。它仍然不起作用。对于上面的代码,我得到下面的错误- 我不知道这里出了什么问题。我引用此链接是为了:https://docs.aws.amazon.com/AWSCloudFormation/latest/Us