Solved

How to write a report to a S3 bucket (AWS)?


Userlevel 1
Badge

We are trying to write a generated report to our S3 bucket.
The Generate Report has the report action that exports to HTML provided with a file from the (thinkwise) DevExpress tool:


The process initiated by a table task:

The process variables that are used are of varbinary (contract_content) type and the file_path which is located to the S3 bucket (file_path__brg_dms_contract). This file_path has a Default constant value (gcd_test1.html):
 

The generate_report process action uses the varbinary content (contract_content) as output in report data. The write_file process action uses the file_path as file_location and contract_content as file data: 
 

 

One time it actually succeeded to write the report into the S3 bucket but I am not able to make it work anymore. The following error is provided when executing this:

 Error Number:2812,State:1,Class:16

2022-06-01T13:39:41.5731636+00:00 8000b77a-0000-ee00-b63f-84710c7967bb [ERR] Process action 'write_file_to_disk' in processflow 'generate_save_report' returned the following message: Process action 'write_file_to_disk' in processflow 'generate_save_report' was provided with an invalid value 'gcd_test1.html' for its 'File location' parameter. The target file path must be absolute. (8d1c7aab)

Or when using no default value in file_path__brg_dms_contract:

2022-06-02T10:11:55.2786570+00:00 80001e4d-0000-f100-b63f-84710c7967bb [ERR] Process action 'write_file_to_disk' in processflow 'generate_save_report' returned the following message: Process action 'write_file_to_disk' in processflow 'generate_save_report' was not provided a (valid) value for its 'File location' parameter. (469bf32a)

How should I correctly fill the File location?

icon

Best answer by g.c.d.vanderschoot 13 June 2022, 11:33

View original

This topic has been closed for comments

4 replies

Userlevel 7
Badge +5

It looks like you are using the ‘Extended file storage support using Write file’ as described here:

Can you verify that brg_dms_contract is (still) a valid file storage location id?

Userlevel 1
Badge

I am indeed using the ‘Extended file storage support using Write file’. I can verify that brg_dms_contract is still a valid file storage location id. 
I have tested this by adding a file from another procedure in the bucket.

Userlevel 7
Badge +5

The process flow should not distinguish between a report generated in an earlier step or any other file.

You’ve tested the file storage location with another procedure - what was this other procedure? Was this also via a write-file process action or is this a column or task parameter using this file storage?

It seems to me like Indicium is not recognising the file storage for this variable so it would be nice to compare it to a write-file process action that uses this file storage with success.

Perhaps far-fetched - can you check the file_path__brg_dms_contract by traversing the id with the caret to see if there are no hidden non-printable unicode characters present in the variable id? This could cause matching to fail.

Userlevel 1
Badge

The problem was that the file_storage_location has dashes (-) in its name. A process_variable does not accept this and automatically replaces this with an underscore (_). Now it is working!