
Vinamra Hagawane (Customer) asked a question.
SAP S/4 HANA connector error:- Glue ETL Marketplace - failed to download connector, activation script exited with code 1
I have setup SAP S/4 HANA connector using Glue marketplace. When I used the connector in the glue job I got error "Glue ETL Marketplace - failed to download connector, activation script exited with code 1" and "Connect timeout on endpoint URL: "https://api.ecr.us-east-1.amazonaws.com/" my Glue job is in ap-south-1 region. Can you please help to connect using SAP S4/HANA connector
Hi Vinamra,
It could be some permissions issue. You have to add "AmazonEC2ContainerRegistryFullAccess" policy to your IAM role. You can limit the access to read only as well. Please refer below stack overflow link for more details.
https://stackoverflow.com/questions/69879490/etl-connector-not-loading-in-aws
Also as AWS Glue will be picking the connect from S3, the timeout issues you are saying might be related to copy (cp3) operation from S3. This can happen because of multiple causes.
Please refer below AWS Knowledge base article to see if it helps
https://aws.amazon.com/premiumsupport/knowledge-center/s3-could-not-connect-endpoint-url/
You might find this stack overflow article helpful too
https://stackoverflow.com/questions/40409683/aws-s3-cli-could-not-connect-to-the-endpoint-url
if this does not help, please provide us the full error logs for the issue you are seeing.
Regards,
Thanks Avadhoot,
Now I am able to download the connector but now we are getting below error:
Glue ETL Marketplace: failed to retrieve primary key from source.driverClassName: com.ddcloud.jdbc.s4hana.S4HanaDriver, error message: [DD Cloud][S4Hana JDBC Driver][S4Hana]An error occurred while executing the OData query HTTP Status: 400
Now I am able to download the connector but now we are getting below error:
Glue ETL Marketplace: failed to retrieve primary key from source.driverClassName: com.ddcloud.jdbc.s4hana.S4HanaDriver, error message: [DD Cloud][S4Hana JDBC Driver][S4Hana]An error occurred while executing the OData query HTTP Status: 400
Hi Vinamra,
I am checking with internal team to see what might be happening here.
I hope you will get a reply soon on next steps.
Regards,
Avadhoot
According to my notes, I would see this primary key error if the table name I was using was not correctly specified. I think this is because one of the first operations Glue does with the driver is call getPrimaryKeys using the table name. If this result comes back empty it throws that error.
The S4Hana driver by default includes all OData services it discovers and maps each service to its own schema. Using this default mode will require you to use the two part (schema.table) name to find the table. I would recommend using the "ServiceList" connection option to indicate the service you want to target so that the driver will default to the schema (service) you will be accessing. This will allow you to use just single part name.
For example, say I want to query the A_BUSINESSPARTNERBANK table that is in the API_BUSINESS_PARTNER service. I would apply the following option to the connection: ServiceList=API_BUSINESS_PARTNER
This will allow me to use the simple table name A_BUSINESSPARTNERBANK. Another suggestion is to make sure you specify the table name in all upper case characters.