I’m attempting to create a simple automation for learning purposes. The automation should download all the zip files from a source s3 bucket, extract them and then upload them to the destination s3 bucket. I have a good description of the step-by-step process(this is key) so it builds the process nicely. I can see in Step 1 that it properly lists the contents of the buckets and has an array of the zip files. During Step 2 when it attempts to download it throws and error. When asking the assistant to fix it for you and it comes back with nothing to change it’s already correct. Looking at the UI it looks correct as well.
Error:
Execution encountered an error: {“reason”: “ActionIntegration.GetObject.InvalidInput”, “type”: “System”, “message”: “Action Integration Error | Message: Validation error during call to Action Integration: <ValidationException()>”, “code”: 400}
The Problem:
At line 18 (Action 2.4) and line 22 (Action 2.7), the loop variables zip_key and xml_file are being incorrectly wrapped in _() notation, causing them to be treated as string literals instead of actual variable values. What’s happening:
-
Key=_(“zip_key”) is trying to use the literal string “zip_key” instead of the actual filename value
-
Key=_(“xml_file[\“sourceMetadata\”][\“sourceName\”]”) is treating the entire expression as a string instead of evaluating it
The Solution:
Fix the variable references in both S3 actions: For Action 2.4 (line 18) - When downloading the ZIP file:
-
Change the Key parameter to use the zip_key loop variable directly (without treating it as a string literal) For Action 2.7 (line 22) - When uploading the XML file:
-
Change the Key parameter to properly access the filename from the xml_file object’s metadata This will ensure the actual filenames from the loops are passed to the S3 actions instead of string literals. Would you like me to apply this fix to correct the variable references in the “Process ZIP Files” step?
