public S3DestinationConfiguration withKey(String key) {
        setKey(key);
        return this;
    }
<p>
The key of the dataset contents object in an S3 bucket. Each object has a key that is a unique identifier. Each
object has exactly one key.
</p>
<p>
You can create a unique key with the following options:
</p>
<ul>
<li>
<p>
Use <code>!{iotanalytics:scheduleTime}</code> to insert the time of a scheduled SQL query run.
</p>
</li>
<li>
<p>
Use <code>!{iotanalytics:versionId}</code> to insert a unique hash that identifies a dataset content.
</p>
</li>
<li>
<p>
Use <code>!{iotanalytics:creationTime}</code> to insert the creation time of a dataset content.
</p>
</li>
</ul>
<p>
The following example creates a unique key for a CSV file:
<code>dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv</code>
</p>
<note>
<p>
If you don't use <code>!{iotanalytics:versionId}</code> to specify the key, you might get duplicate keys. For
example, you might have two dataset contents with the same <code>scheduleTime</code> but different
<code>versionId</code>s. This means that one dataset content overwrites the other.
</p>
</note>

@param key
       The key of the dataset contents object in an S3 bucket. Each object has a key that is a unique identifier.
       Each object has exactly one key.</p>
       <p>
       You can create a unique key with the following options:
       </p>
       <ul>
       <li>
       <p>
       Use <code>!{iotanalytics:scheduleTime}</code> to insert the time of a scheduled SQL query run.
       </p>
       </li>
       <li>
       <p>
       Use <code>!{iotanalytics:versionId}</code> to insert a unique hash that identifies a dataset content.
       </p>
       </li>
       <li>
       <p>
       Use <code>!{iotanalytics:creationTime}</code> to insert the creation time of a dataset content.
       </p>
       </li>
       </ul>
       <p>
       The following example creates a unique key for a CSV file:
       <code>dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv</code>
       </p>
       <note>
       <p>
       If you don't use <code>!{iotanalytics:versionId}</code> to specify the key, you might get duplicate keys.
       For example, you might have two dataset contents with the same <code>scheduleTime</code> but different
       <code>versionId</code>s. This means that one dataset content overwrites the other.
       </p>
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-iotanalytics/src/main/java/com/amazonaws/services/iotanalytics/model/S3DestinationConfiguration.java