I have a lambda function in AWS.
I can run it fine from eclipse.
I'm trying to set it up from Bamboo now.
So I go to create a new step of type "AWS Lambda Function".
There is a part where it says "S3 Key".
I don't know what to put there.
I go to the AWS user management console -> choose the user I use for the AWS -> go to Security Credentials -> copy the Access Key ID
But then the AWS console says "Error code: NoSuchKey. S3 Error message: the specified key does not exist"
Any idea how to solve this?
Thank you for using our apps, and sorry for the trouble.
Presumably you have figured this out by now, but 'S3 Key' is referring to the "unique identifier for an object within a bucket", or Amazon S3 object key:
Every object in a bucket has exactly one key. The combination of a bucket, key, and version ID uniquely identify each object. So you can think of Amazon S3 as a basic data map between "bucket + key + version" and the object itself. Every object in Amazon S3 can be uniquely addressed through the combination of the web service endpoint, bucket name, key, and optionally, a version. For example, in the URL
doc" is the name of the bucket and "
2006-03-01/AmazonS3.wsdl" is the key.
In many contexts this is simply referred to as a 'filename', but given the S3 data model is not an actual filesystem, rather a 'flat structure', AWS retains the notion of this being the 'key', and 'folders' are modeled as 'key prefixes and delimiters' in turn, see Object Keys:
You create a bucket, and the bucket stores objects. There is no hierarchy of subbuckets or subfolders. However, you can infer logical hierarchy using key name prefixes and delimiters as the Amazon S3 console does. The Amazon S3 console supports a concept of folders.
Given the ever growing number and complexity of AWS services and resources, we try to reuse the official names rather than introduce additional and potentially misleading ones on top of it.
Unfortunately the AWS Lambda team opted for the abbreviated term 'S3 Key' as the official field name in the AWS Lambda API Create Function docs, so we have named the task's field accordingly. While we are using the full term 'S3 object key' within the field's description and our own AWS Lambda Function task docs, your question highlights that we might need to reconsider this 'follow the API' policy going forward, thanks for pointing out this usability flaw!