1 réponse
- Le plus récent
- Le plus de votes
- La plupart des commentaires
0
There are a couple issues with the provided script that are likely causing the problem displaying the logs:
The aws logs tail command doesn't output the log content by default. You need to specify --output text to print the log events. The --follow parameter won't work within the loop, as it will just keep waiting for new log data. You need to tail without follow initially, then add follow after the loop.
exec_out=$(aws imagebuilder start-image-pipeline-execution --image-pipeline-arn $pipeline_arn)
imgBldr_arn=$(echo "${exec_out}" | jq -r '.imageBuildVersionArn')
log_group_name="/aws/imagebuilder/my-img-pipeline"
log_stream_name_prefix="1.0.0/1"
while true; do
echo "Checking status..."
arn_out=$(aws imagebuilder get-image --image-build-version-arn "${imgBldr_arn}")
status=$(echo "${arn_out}" | jq -r '.image.state.status')
echo "Current status: ${status}"
# Print logs
aws logs tail ${log_group_name} --log-stream-name-prefix ${log_stream_name_prefix} --output text
if [ "${status}" == "AVAILABLE" ]; then
echo "Build completed successfully!"
break
fi
sleep 30
done
# Follow logs for any trailing output
aws logs tail ${log_group_name} --log-stream-name-prefix ${log_stream_name_prefix} --follow --output text
répondu il y a 9 mois
Contenus pertinents
- demandé il y a 3 mois
- demandé il y a un an
- demandé il y a un an
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 2 ans
Hi Dave, Sorry to unmark your answer. But the above script has a problem. When the "aws logs tail..." command is executed inside the while loop, it is repeating messages instead of printing from the last message. For example, let's say the first execution of while loop prints from message 1 to 10, the 2nd execution prints again from 1 instead of resuming from 11. Should I add a --since flag with a timestamp for every call inside the loop or there is a better or different solution. Please help.
Can anyone please help?