Bobcares

Errno 21 is a directory AWS S3 | 3 Solutions

by | Feb 5, 2024

Learn how to fix the “ Errno 21 is a directory” AWS S3 error. Our AWS Support team is here to help you with your questions and concerns.

Errno 21 is a directory AWS S3 | 3 Solutions

In the world of AWS S3 operations, users often run into challenges when dealing with shell scripts and commands. Here is an example of one such error:

Errno 21 is a directory AWS S3 | 3 Solutions

IsADirectoryError: [Errno 21] Is a directory: ‘./data/preprocessed_data/train/Salesreport009969’

In this blog post, we are going to explore three common cases where AWS S3 commands may fail and how to resolve these issues.

1: Downloading a Directory with Subdirectories

Consider a situation where the goal is to download the entire content of ‘dir_test’ from an S3 bucket to the local working directory. The provided shell script appears correct, but an Errno 21 error is reported by AWS. The error suggests a directory-related issue that doesn’t align with S3’s nature.

To troubleshoot, our experts check for peculiarities such as empty file names or files named “dir/”. Additionally, the ‘mc’ tool is used as an alternative for recursive operations.

2: Using Variables in S3 Copy Command

In another case, a user may attempt to include files with dynamic names in the S3 copy command but faces an Errno 21 error. This indicates that the source path is recognized as a directory. On removing the variable and substituting a static date, our experts confirm that the variable is not the issue.

On taking a closer look, we get to know the specified path (/test/copy) is a directory. However, AWS S3 copy commands do not support copying directories directly. So we can solve the error by making sure the command targets individual files instead of directories.

3: AWS S3 Sync Failure with Equally Named Files & Directories

The third case involves an issue with AWS S3 sync when there’s a directory in the target location with the same name as a file in the source location. The user attempts to sync the contents with the ‘–delete’ flag, expecting the target directory to be replaced by the S3 object.

However, the sync operation fails, citing an Errno 21 error. The AWS S3 sync runs into issues when dealing with files and directories with the same names at the same hierarchy level. A simple reproduction example is provided to illustrate the problem. The problem can be fixed by changing either the file or directory name.

As seen above, AWS S3 operations can present challenges. However, with the right help, you can easily overcome any error, including the “errno 21 is a directory “ error without any trouble.

[Need assistance with a different issue? Our team is available 24/7.]

Conclusion

In brief, our Support Experts demonstrated how to fix the “Errno 21 is a directory” AWS S3 error.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.