Я пытаюсь загрузить образец файла HTML в S3 с шаблоном Cloudformation следующим образом и обнаружил, что файл был успешно загружен в журналы S3 и Cloudwatch, показывающие, что ответом является УСПЕХ. Но этот статус Cloudformation все еще показывает CREATE_IN_PROGRESS
. Пожалуйста, дайте мне знать, что я пропустил, чтобы что-то настроить?
UploadSampleFile:
Type: AWS::Lambda::Function
Properties:
Environment:
Variables:
BucketName: !Ref TestFrontendHost
Code:
ZipFile:
Fn::Sub: |
const AWS = require('aws-sdk');
var response = require('cfn-response')
exports.handler = async (event, context) => {
var s3 = new AWS.S3();
var base64data = new Buffer.from('<HTML><HEAD><TITLE>Welcome to Test Frontend</TITLE></HEAD><BODY>Welcome to Test Frontend</BODY></HTML>', 'binary');
var params = {
Bucket: process.env.BucketName,
Key: 'index.html',
Body: base64data,
ContentType: 'text/html',
ACL: 'public-read'
};
console.log('REQUEST RECEIVED:\n' + JSON.stringify(event));
if (event.RequestType === 'Delete') {
response.send(event, context, 'SUCCESS')
return
}
var responseStatus = 'FAILED';
var responseData = {};
console.log('Upload Starting');
try {
await s3.putObject(params).promise();
responseStatus = 'SUCCESS';
responseData = {
message: 'Upload Successfully'
};
console.log('responseStatus ' + responseStatus);
response.send(event, context, responseStatus, responseData);
} catch (err) {
responseStatus = 'FAILED';
responseData = {
message: err
};
console.log('responseStatus ' + responseStatus);
response.send(event, context, responseStatus, responseData);
}
};
Description: "CloudFormation Lambda Back Custom Function to upload sample index.html"
FunctionName: TestUploadSampleFile
Handler: index.handler
MemorySize: 512
Role: !Ref TestAPIRole
Runtime: nodejs10.x
Timeout: 900
UploadHTMLPageFunction:
Type: Custom::UploadHTMLFile
Properties:
ServiceToken: !GetAtt TestUploadSampleFile.Arn
Cloudwatch Logs
{
"Status": "SUCCESS",
"Reason": "See the details in CloudWatch Log Stream: 2020/01/25/[$LATEST]fe7e2ec1cf424c9cbe2de0f8673e9ea2",
"PhysicalResourceId": "2020/01/25/[$LATEST]fe7e2ec1cf424c9cbe2de0f8673e9ea2",
"StackId": "******",
"RequestId": "35855acd-e786-4062-a47a-6b3ae6c8e326",
"LogicalResourceId": "UploadHTMLPageFunction",
"NoEcho": false,
"Data": {
"message": "Upload Successfully"
}
}