Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to upload folder to S3 compatible storage #324

Open
nadendlaprasad opened this issue May 23, 2024 · 0 comments
Open

Unable to upload folder to S3 compatible storage #324

nadendlaprasad opened this issue May 23, 2024 · 0 comments
Labels

Comments

@nadendlaprasad
Copy link

Jenkins and plugins versions report

I am able to upload file to s3 but unable to upload all files given a folder name.

withAWS(endpointUrl:'https://s3url.com',credentials:'<creds>') {
s3Upload(pathStyleAccessEnabled: true,bucket:"<bucketname>", file:"foldername",path:"/myfiles/")
}

Throws following error message

org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: 83bbee8f-27eb-4a8e-bfc2-ce13d52a3453
com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: tx0000000000000000633aa-00664f35d5-5e27-default; S3 Extended Request ID: 5e27-default-default; Proxy: null), S3 Extended Request ID: 5e27-default-default
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1879)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1418)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1387)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1157)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:814)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:781)

It works fine given the file name for the same code

withAWS(endpointUrl:'https://s3url.com',credentials:'<creds>') {
s3Upload(pathStyleAccessEnabled: true,bucket:"<bucketname>", file:"foldername/filename.ext",path:"/myfiles/")
}

However, I am able to iterate each file and publish to s3 but it takes lot of time as this executes sequentially.

What Operating System are you using (both controller, and any agents involved in the problem)?

Running inside Jenkins agent container

Reproduction steps

withAWS(endpointUrl:'https://s3url.com',credentials:'<creds>') {
s3Upload(pathStyleAccessEnabled: true,bucket:"<bucketname>", file:"foldername",path:"/myfiles/")
}

Expected Results

Expected all files and folders to be published give the folder or directory name.

Actual Results

org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: 83bbee8f-27eb-4a8e-bfc2-ce13d52a3453
com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: tx0000000000000000633aa-00664f35d5-5e27-default; S3 Extended Request ID: 5e27-default-default; Proxy: null), S3 Extended Request ID: 5e27-default-default
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1879)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1418)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1387)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1157)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:814)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:781)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:755)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:715)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:697)
	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:561)
	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:541)
	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5558)
	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5505)
	at com.amazonaws.services.s3.AmazonS3Client.access$300(AmazonS3Client.java:423)
	at com.amazonaws.services.s3.AmazonS3Client$PutObjectStrategy.invokeServiceCall(AmazonS3Client.java:6639)
	at com.amazonaws.services.s3.AmazonS3Client.uploadObject(AmazonS3Client.java:1892)
	at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1852)

Anything else?

No response

Are you interested in contributing a fix?

I am happy to contribute fix given the reference to the source code of the respective file/files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant