in solution/solution-compliance-audit-for-data-plane/source/function/ecs-timezone/index.js [130:170]
async function getCommandResult(commandId, invokeId, eventParams, context, client) {
const { regionId, resourceId } = eventParams.invokingEvent.configurationItem;
const { logger } = context;
const params = {
RegionId: regionId,
InvokeId: invokeId,
InstanceId: resourceId,
CommandId: commandId,
};
const result = await client.request(
"DescribeInvocationResults",
params,
requestOption
);
let invocationResult =
result.Invocation.InvocationResults.InvocationResult[0];
if (
!_.isUndefined(invocationResult.InvocationStatus) &&
_.isEqual(invocationResult.InvocationStatus, "Aborted")
) {
logger.error(`执行失败 错误信息 ${invocationResult.ErrorInfo}`);
return "";
} else if (_.isNil(invocationResult.ExitCode)) {
logger.log("脚本执行中,请等待.......");
return null;
} else {
if (_.isEqual(`${invocationResult.ExitCode}`, "0")) {
logger.log(`命令输出结果 ` + Buffer.from(invocationResult.Output, 'base64'));
} else {
logger.error(
`错误码 ${invocationResult.ErrorCode} 错误信息 ${invocationResult.ErrorInfo}`
);
}
const buff = Buffer.from(invocationResult.Output, 'base64');
return buff.toString('ascii');
}
}