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