Amazon web services 在AWS cloudformation中创建公钥时出现以下错误:提供的请求无效:AWS::CloudFront::PublicKey
我有以下Cloudformation模板(.yml文件),其中我正在创建公钥以添加到密钥组,该密钥组也是在同一模板中创建的。(下面的公钥仅用于示例目的。) 但是,我得到了与公钥相关的以下错误Amazon web services 在AWS cloudformation中创建公钥时出现以下错误:提供的请求无效:AWS::CloudFront::PublicKey,amazon-web-services,amazon-cloudformation,amazon-cloudfront,Amazon Web Services,Amazon Cloudformation,Amazon Cloudfront,我有以下Cloudformation模板(.yml文件),其中我正在创建公钥以添加到密钥组,该密钥组也是在同一模板中创建的。(下面的公钥仅用于示例目的。) 但是,我得到了与公钥相关的以下错误 Invalid request provided: AWS::CloudFront::PublicKey 原始公钥是多行的,例如: -----BEGIN PUBLIC KEY----- aaaa bbbb -----END PUBLIC KEY----- 我试图通过添加新行字符使其适合单行,如下所示
Invalid request provided: AWS::CloudFront::PublicKey
原始公钥是多行的,例如:
-----BEGIN PUBLIC KEY-----
aaaa
bbbb
-----END PUBLIC KEY-----
我试图通过添加新行字符使其适合单行,如下所示
-----BEGIN PUBLIC KEY-----\naaaa\nbbbb\n-----END PUBLIC KEY-----
我也试过不用新行字符
-----BEGIN PUBLIC KEY-----aaaabbbb-----END PUBLIC KEY-----
两次尝试都没有成功,我仍然得到相同的错误。通常,对于这种情况,您可以在yaml中使用多行字符串。因此,您可以尝试以下版本的模板:
AWSTemplateFormatVersion: "2010-09-09"
Resources:
CloudfrontPublicKey:
Type: AWS::CloudFront::PublicKey
Properties:
PublicKeyConfig:
CallerReference: 'some-caller-reference'
Comment: 'Public key for signed url'
Name: 'cloudfront-public-key'
EncodedKey: |
-----BEGIN PUBLIC KEY-----
aaaa
bbbb
-----END PUBLIC KEY-----
CloudFrontKeyGroup:
Type: AWS::CloudFront::KeyGroup
Properties:
KeyGroupConfig:
Comment: 'Key group for signed url'
Items:
- !Ref CloudfrontPublicKey
Name: 'cloudfront-key-group'
在我尝试您的解决方案后,与PubicKey相关的错误消失了。另一种解决方案是使用双引号将单行公钥包装为\n。
AWSTemplateFormatVersion: "2010-09-09"
Resources:
CloudfrontPublicKey:
Type: AWS::CloudFront::PublicKey
Properties:
PublicKeyConfig:
CallerReference: 'some-caller-reference'
Comment: 'Public key for signed url'
Name: 'cloudfront-public-key'
EncodedKey: |
-----BEGIN PUBLIC KEY-----
aaaa
bbbb
-----END PUBLIC KEY-----
CloudFrontKeyGroup:
Type: AWS::CloudFront::KeyGroup
Properties:
KeyGroupConfig:
Comment: 'Key group for signed url'
Items:
- !Ref CloudfrontPublicKey
Name: 'cloudfront-key-group'