So it is well documented that Amazon S3 only uses lowercase for bucket names and object names, so it is difficult to represent file names that may have contained uppercase letters when, for instance, backing up a file to S3. I thought then that I would put the 'true' mixed-case filename in metadata, only to discover that the metadata also has a restriction of all lowercase(!!!).
Has anyone established a best practice or technique for representing mixed-case filenames? I can think of methods like storing additional metadata that indicates which letters in the key or in other metadata should be uppercase, but this is a mess.
Any recommendations or common practices?
I'm not really sure what you mean by just lowercase for objects. Yes, bucket names are lowercase but objects can have mixed case names. Check below:
Related
Couchbase scopes and collections names are case sensitive
While Couchbase, the company, does not force or hint of register use,
is there something on Internet or good / wellknown projects example like Apache project.
For example, I think like scope.Collection,
that is using low case, but only 1st letter of scope as Capital.
But as Couchbase 7.x is moving to be more SQLish,
can it be problem later on?
Secondly, there is question about using plural, like om.Orders::<>
Reason: reason in the project there is currently mixture of cases.
It is worth recommending to use all small letters for bucket, scopes and collection names.
That is exactly how Couchbase documentation is
and so are the provided sample buckets.
For example travel-sample.inventory.airline
Even all documents atributes are in small letters, even those that are abbreviation like iata for IATA, icao for ICAO.
I have many S3 objects that are all text files with the same delimiter (|) and retain unique headers on only the first line.
I want to create a Redshift Table DDL for each file with all fields defined as varchar or simply just some text-only data type format. There's a lot of material I've found relating to this use-case but haven't located something that readily accomplishes this seemingly trivial task.
The only source I've found that's somewhat does this is from here. Before I just make my own tool, I wanted to check in and ask here to insure I haven't missed anything that will make this labor-intensive, monotonous task quick and easy.
In my s3 bucket, will there be any problem in accessing object over the browser, if the objects are named in Arabic characters.
See Object key naming guidelines for specifics and recommendations on what to avoid.
Theoretically:
You can use any UTF-8 character in an object key name. However, using certain characters in key names can cause problems with some applications and protocols. The following guidelines help you maximize compliance with DNS, web-safe characters, XML parsers, and other APIs.
Although this topic has been touched many times I write about it again to share my experiences. Before starting the project I was looking for a naming convention for database and read the advice that I found on this website. I used the convention Pascal or Camel if you prefer.
MyTable
MyColumnName
Firstly, it turned out that the project is unportable as databases write data in the directories with names coming from the names of the tables, and a variety of operating systems have different interpretation of lowercase and capital letters in the names of files and directories.
I changed convention to lowercase underscore naming convention.
my_table
my_column_name
It seemed that the problem is solved, but not quite.
There is another problem: the keywords.
Here is an excerpt discussing which I came across when I recognized the problem in my project. In short Frameworks don't quote keywords because it reduces database performance.
So another convention change.
_my_table
_my_column_name
_reserved_keyword
My question is: How many changes to the naming convention was waiting for me?
I hope this post will help others overcome the problems with which I had to face.
Naming convention isn't a must, its only an recommendation. You should wisely specify the table, column, etc. names, thinking about them as there were no naming conventions.
Do not use reserved words, non-alphabetical chars, etc. and your problem is gone.
From what I understand, what I would call files and folders, are just objects on Amazon S3. They are all located in the same region specified, and all in one big sea of files. The prefix of those object (the first one) is what Amazon calls "bucket". So, an object could look like this "Bucket01:anotherprefix:athirdprefix:myfile"
But I've seen that some objects have / in them. anotherprefix:athirdprefix:afourthprefix/myfile
What does / do? Because I can't see that it behaves any other way than :
The '/' does 'do' anything, it becomes part of the name. Lots of people use them, including me, because it visually organizes your files in a convention that most people are used to, but that is just a convention, as you have said, there are no folders or subdirectories within a bucket - just 'one big sea of files'.
Naming convention general is not going to matter, unless and until you have lots and lots of objects within a bucket, and need better performance - if you think that might be your case eventually, best to come up with a naming convention where the beginning of the file names are 'randomized' to some extent to allow s3 to distribute your files for you, and thus access them faster when it needs them.
Here is a slidehare that you might find interesting on best practices for naming conventions:
http://www.slideshare.net/AmazonWebServices/maximizing-amazon-s3-performance-stg304-aws-reinvent-2013