Hayden Ness
07/21/2024, 11:09 PM2024-07-21T23:05:08.040258Z [info ] Writing state to AWS S3
2024-07-21T23:05:08.051446Z [info ] Found credentials in environment variables.
2024-07-21T23:05:08.129575Z [info ] Found endpoint for s3 via: environment_service.
2024-07-21T23:05:08.161200Z [info ] smart_open.s3.MultipartWriter('mybucket', 'state/dev:tap-mssql-to-target-s3/lock'): uploading part_num: 1, 17 bytes (total 0.000GB)
2024-07-21T23:05:09.171625Z [info ] smart_open.s3.MultipartWriter('mybucket', 'state/dev:tap-mssql-to-target-s3/lock'): uploading part_num: 1, 17 bytes (total 0.000GB)
Need help fixing this problem? Visit <http://melta.no/> for troubleshooting steps, or to
join our friendly Slack community.
An error occurred (InvalidObjectName) when calling the UploadPart operation: The specified object name is not valid.
Edgar Ramírez (Arch.dev)
07/22/2024, 1:44 AMAdditionally, since listing state is broken (https://github.com/meltano/meltano/issues/8425) if there are files in the root directory of the bucket, can I expect Meltano to operate correctly, or does it depend on that operation?The issue is specific to Google Cloud, and only if there happens to be a file at the root of the bucket, but you seem to be using S3. Does the
meltano state list
operation also not work for you?
I have not seen this error in particular, and the AWS docs don't seem to suggest 'state/dev:tap-mssql-to-target-s3/lock'
should be problematic. Did you previously create the bucket in S3?Hayden Ness
07/22/2024, 2:00 AMhayden.ness@Machine ~ % s3cmd cp <s3://mybucket/sample.parquet> <s3://mybucket/dev:state/cptest.parquet>
ERROR: Copy failed for: '<s3://mybucket/sample.parquet>' (400 (InvalidObjectName): The specified object name is not valid.)
So it seems I'll have to work around that too, unless I can somehow remove the colon from the state name?Edgar Ramírez (Arch.dev)
07/22/2024, 3:16 AM• Object names (keys) must be up to 1024 characters long.
• Object names can contain up to 200 '/' characters.
• Object names can contain slashes. This is useful for 'S3 directory' type usage.
unless I can somehow remove the colon from the state name?Unfortunately, that's not currently possible and the delimiter is hardcoded: https://github.com/meltano/meltano/blob/72454b4a973e279c383796bd37d5f8a6fd128f13/src/meltano/core/block/extract_load.py#L887-L924 But please do create an issue!
Hayden Ness
07/22/2024, 3:36 AMEdgar Ramírez (Arch.dev)
07/23/2024, 4:18 PM