Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 您提供的XML格式不正确,或者没有根据我们发布的模式进行验证(服务:AmazonS3;状态代码:400)_Amazon Web Services_Amazon S3_Amazon Cloudformation - Fatal编程技术网

Amazon web services 您提供的XML格式不正确,或者没有根据我们发布的模式进行验证(服务:AmazonS3;状态代码:400)

Amazon web services 您提供的XML格式不正确,或者没有根据我们发布的模式进行验证(服务:AmazonS3;状态代码:400),amazon-web-services,amazon-s3,amazon-cloudformation,Amazon Web Services,Amazon S3,Amazon Cloudformation,因此,我试图创建一个S3存储桶,但如果应用复制设置,则会出现以下错误 您提供的XML格式不正确,或者没有根据我们发布的模式进行验证(服务:AmazonS3;状态代码:400) 如果我注释掉复制设置,bucket会被完美地创建。我无法调试这个问题,欢迎任何帮助,下面是我的S3 bucket Resources: PipelineS3Bucket: Type: AWS::S3::Bucket Properties: BucketName: !Sub ${Env}-${

因此,我试图创建一个S3存储桶,但如果应用复制设置,则会出现以下错误

您提供的XML格式不正确,或者没有根据我们发布的模式进行验证(服务:AmazonS3;状态代码:400)

如果我注释掉复制设置,bucket会被完美地创建。我无法调试这个问题,欢迎任何帮助,下面是我的S3 bucket

Resources:
  PipelineS3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub ${Env}-${BucketName}
      AccessControl: BucketOwnerFullControl
      BucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: !Ref SSEAlgorithm
      PublicAccessBlockConfiguration:
        BlockPublicAcls: true
        IgnorePublicAcls: true
        BlockPublicPolicy: true
        RestrictPublicBuckets: true
      LifecycleConfiguration:
        Rules:
          - AbortIncompleteMultipartUpload:
              DaysAfterInitiation: !Ref DaysAfterInitiation
            ExpirationInDays: !Ref LifecycleConfigurationExpirationInDays
            NoncurrentVersionExpirationInDays: !Ref NoncurrentVersionExpirationInDays
            NoncurrentVersionTransition:
              StorageClass: !Ref LifecycleConfigurationStorageClass
              TransitionInDays: !Ref TransitionInDays
            Prefix: !Ref LifecycleConfigurationPrefix
            Status: !Ref LifecycleConfigurationStatus
      VersioningConfiguration:
        Status: !Ref VersioningConfigurationStatus

      ReplicationConfiguration:
        Role: !GetAtt BucketBackupRole.Arn
        Rules:
          - Destination:
              Bucket: !Sub 'arn:aws:s3:::my-bucket'
              StorageClass: Standard
            Prefix: ''
            Status: Enabled
            Id: Region2Rep
  BucketBackupRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service:
                - s3.amazonaws.com
      Policies:
        - PolicyName: "configureable-bucket-policy"
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Action:
                  - s3:*
                Effect: Allow
                Resource:
                  - !Sub 'arn:aws:s3:::my-bucket'
                  - !Sub 'arn:aws:s3:::my-bucket/*'

对于
StorageClass
请尝试使用所有已启用的caps

基于云信息文档中的

ReplicationConfiguration:
  Role: !GetAtt BucketBackupRole.Arn
  Rules:
    - Destination:
        Bucket: !Sub 'arn:aws:s3:::my-bucket'
        StorageClass: Standard
      Prefix: ''
      Status: ENABLED
      Id: Region2Rep

您需要设置LifecycleTransition属性天数和存储类

var _s3Client = new AmazonS3Client(_awsAccessKeyId, _awsSecretAccessKey, _bucketRegion);
LifecycleConfiguration newConfiguration = new LifecycleConfiguration
    {
        Rules = new List<LifecycleRule>
        {
            new LifecycleRule
                    {
                         Id = "some id here",
                         Filter = new LifecycleFilter()
                         {
                             LifecycleFilterPredicate = new LifecyclePrefixPredicate()
                             {
                                
                             }
                         },
                         Status = LifecycleRuleStatus.Enabled,
                         Transitions = new List<LifecycleTransition>
                         {
                              new LifecycleTransition
                              {
                                   Days = 0,
                                   StorageClass = S3StorageClass.Glacier
                              }
                          },
                         Expiration = new LifecycleRuleExpiration()
                         {
                               Days = 1
                         }
                    }
        }
    };
PutLifecycleConfigurationRequest putRequest = new PutLifecycleConfigurationRequest
            {
                BucketName = bucketName,
                Configuration = newConfiguration
            };
 _s3Client.PutLifecycleConfiguration(putRequest);
var\u s3Client=newamazons3client(\u awsAccessKeyId,\u awsSecretAccessKey,\u bucketRegion);
LifecycleConfiguration newConfiguration=新LifecycleConfiguration
{
规则=新列表
{
新生命周期
{
Id=“这里有一些Id”,
过滤器=新生命周期过滤器()
{
LifecycleFilterPredicate=新的LifecyclePrefixPredicate()
{
}
},
状态=LifecycleRuleStatus.已启用,
转换=新列表
{
新生命周期转换
{
天数=0,
StorageClass=S3StorageClass.Glacier
}
},
Expiration=新生命周期剩余时间Expiration()
{
天数=1
}
}
}
};
PutLifecycleConfigurationRequest putRequest=新PutLifecycleConfigurationRequest
{
BucketName=BucketName,
配置=新配置
};
_s3Client.PutLifecycleConfiguration(putRequest);