/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the sdb-2009-04-15.normal.json service model. */ using System; using System.Collections.Generic; using System.Net; using Amazon.SimpleDB.Model; using Amazon.SimpleDB.Model.Internal.MarshallTransformations; using Amazon.SimpleDB.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.SimpleDB { /// /// Implementation for accessing SimpleDB /// /// Amazon SimpleDB is a web service providing the core database functions of data indexing /// and querying in the cloud. By offloading the time and effort associated with building /// and operating a web-scale database, SimpleDB provides developers the freedom to focus /// on application development. /// /// A traditional, clustered relational database requires a sizable upfront capital outlay, /// is complex to design, and often requires extensive and repetitive database administration. /// Amazon SimpleDB is dramatically simpler, requiring no schema, automatically indexing /// your data and providing a simple API for storage and access. This approach eliminates /// the administrative burden of data modeling, index maintenance, and performance tuning. /// Developers gain access to this functionality within Amazon's proven computing environment, /// are able to scale instantly, and pay only for what they use. /// /// /// /// Visit http://aws.amazon.com/simpledb/ /// for more information. /// /// public partial class AmazonSimpleDBClient : AmazonServiceClient, IAmazonSimpleDB { private static IServiceMetadata serviceMetadata = new AmazonSimpleDBMetadata(); #region Constructors /// /// Constructs AmazonSimpleDBClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonSimpleDBClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSimpleDBConfig()) { } /// /// Constructs AmazonSimpleDBClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonSimpleDBClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSimpleDBConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSimpleDBClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonSimpleDBClient Configuration Object public AmazonSimpleDBClient(AmazonSimpleDBConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonSimpleDBClient with AWS Credentials /// /// AWS Credentials public AmazonSimpleDBClient(AWSCredentials credentials) : this(credentials, new AmazonSimpleDBConfig()) { } /// /// Constructs AmazonSimpleDBClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonSimpleDBClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonSimpleDBConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSimpleDBClient with AWS Credentials and an /// AmazonSimpleDBClient Configuration object. /// /// AWS Credentials /// The AmazonSimpleDBClient Configuration Object public AmazonSimpleDBClient(AWSCredentials credentials, AmazonSimpleDBConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonSimpleDBClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonSimpleDBClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSimpleDBConfig()) { } /// /// Constructs AmazonSimpleDBClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonSimpleDBClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSimpleDBConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonSimpleDBClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSimpleDBClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonSimpleDBClient Configuration Object public AmazonSimpleDBClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSimpleDBConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonSimpleDBClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonSimpleDBClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSimpleDBConfig()) { } /// /// Constructs AmazonSimpleDBClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonSimpleDBClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSimpleDBConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSimpleDBClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSimpleDBClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonSimpleDBClient Configuration Object public AmazonSimpleDBClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSimpleDBConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new QueryStringSigner(); } /// /// Customize the pipeline /// /// protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonSimpleDBEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region BatchDeleteAttributes /// /// Performs multiple DeleteAttributes operations in a single call, which reduces round /// trips and latencies. This enables Amazon SimpleDB to optimize requests, which generally /// yields better throughput. /// /// /// /// The following limitations are enforced for this operation:
  • 1 MB request /// size
  • 25 item limit per BatchDeleteAttributes operation
///
///
/// Container for the necessary parameters to execute the BatchDeleteAttributes service method. /// /// The response from the BatchDeleteAttributes service method, as returned by SimpleDB. /// REST API Reference for BatchDeleteAttributes Operation public virtual BatchDeleteAttributesResponse BatchDeleteAttributes(BatchDeleteAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchDeleteAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchDeleteAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the BatchDeleteAttributes operation. /// /// /// Container for the necessary parameters to execute the BatchDeleteAttributes operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndBatchDeleteAttributes /// operation. /// REST API Reference for BatchDeleteAttributes Operation public virtual IAsyncResult BeginBatchDeleteAttributes(BatchDeleteAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = BatchDeleteAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchDeleteAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the BatchDeleteAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginBatchDeleteAttributes. /// /// Returns a BatchDeleteAttributesResult from SimpleDB. /// REST API Reference for BatchDeleteAttributes Operation public virtual BatchDeleteAttributesResponse EndBatchDeleteAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region BatchPutAttributes /// /// The BatchPutAttributes operation creates or replaces attributes within /// one or more items. By using this operation, the client can perform multiple PutAttribute /// operation with a single call. This helps yield savings in round trips and latencies, /// enabling Amazon SimpleDB to optimize requests and generally produce better throughput. /// /// /// /// /// The client may specify the item name with the Item.X.ItemName parameter. /// The client may specify new attributes using a combination of the Item.X.Attribute.Y.Name /// and Item.X.Attribute.Y.Value parameters. The client may specify the first /// attribute for the first item using the parameters Item.0.Attribute.0.Name /// and Item.0.Attribute.0.Value, and for the second attribute for the first /// item by the parameters Item.0.Attribute.1.Name and Item.0.Attribute.1.Value, /// and so on. /// /// /// /// Attributes are uniquely identified within an item by their name/value combination. /// For example, a single item can have the attributes { "first_name", "first_value" /// } and { "first_name", "second_value" }. However, it cannot have /// two attribute instances where both the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value /// are the same. /// /// /// /// Optionally, the requester can supply the Replace parameter for each /// individual value. Setting this value to true will cause the new attribute /// values to replace the existing attribute values. For example, if an item I /// has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } /// and the requester does a BatchPutAttributes of {'I', 'b', '4' } with /// the Replace parameter set to true, the final attributes of the item will be { /// 'a', '1' } and { 'b', '4' }, replacing the previous values of /// the 'b' attribute with the new value. /// /// This operation is vulnerable to exceeding the maximum URL size when making /// a REST request using the HTTP GET method. This operation does not support conditions /// using Expected.X.Name, Expected.X.Value, or Expected.X.Exists. /// /// /// You can execute multiple BatchPutAttributes operations and other operations /// in parallel. However, large numbers of concurrent BatchPutAttributes /// calls can result in Service Unavailable (503) responses. /// /// /// /// The following limitations are enforced for this operation:
  • 256 attribute /// name-value pairs per item
  • 1 MB request size
  • 1 billion attributes /// per domain
  • 10 GB of total user data storage per domain
  • 25 item limit /// per BatchPutAttributes operation
///
///
/// Container for the necessary parameters to execute the BatchPutAttributes service method. /// /// The response from the BatchPutAttributes service method, as returned by SimpleDB. /// /// The item name was specified more than once. /// /// /// The value for a parameter is invalid. /// /// /// The request must contain the specified missing parameter. /// /// /// The specified domain does not exist. /// /// /// Too many attributes in this domain. /// /// /// Too many bytes in this domain. /// /// /// Too many attributes in this item. /// /// /// Too many attributes exist in a single call. /// /// /// Too many items exist in a single call. /// /// REST API Reference for BatchPutAttributes Operation public virtual BatchPutAttributesResponse BatchPutAttributes(BatchPutAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchPutAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchPutAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the BatchPutAttributes operation. /// /// /// Container for the necessary parameters to execute the BatchPutAttributes operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndBatchPutAttributes /// operation. /// REST API Reference for BatchPutAttributes Operation public virtual IAsyncResult BeginBatchPutAttributes(BatchPutAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = BatchPutAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchPutAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the BatchPutAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginBatchPutAttributes. /// /// Returns a BatchPutAttributesResult from SimpleDB. /// REST API Reference for BatchPutAttributes Operation public virtual BatchPutAttributesResponse EndBatchPutAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region CreateDomain /// /// The CreateDomain operation creates a new domain. The domain name should /// be unique among the domains associated with the Access Key ID provided in the request. /// The CreateDomain operation may take 10 or more seconds to complete. /// /// /// /// The client can create up to 100 domains per account. /// /// /// /// If the client requires additional domains, go to /// http://aws.amazon.com/contact-us/simpledb-limit-request/. /// /// /// Container for the necessary parameters to execute the CreateDomain service method. /// /// The response from the CreateDomain service method, as returned by SimpleDB. /// /// The value for a parameter is invalid. /// /// /// The request must contain the specified missing parameter. /// /// /// Too many domains exist per this account. /// /// REST API Reference for CreateDomain Operation public virtual CreateDomainResponse CreateDomain(CreateDomainRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDomainRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDomainResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the CreateDomain operation. /// /// /// Container for the necessary parameters to execute the CreateDomain operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDomain /// operation. /// REST API Reference for CreateDomain Operation public virtual IAsyncResult BeginCreateDomain(CreateDomainRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDomainRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDomainResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the CreateDomain operation. /// /// /// The IAsyncResult returned by the call to BeginCreateDomain. /// /// Returns a CreateDomainResult from SimpleDB. /// REST API Reference for CreateDomain Operation public virtual CreateDomainResponse EndCreateDomain(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteAttributes /// /// Deletes one or more attributes associated with an item. If all attributes of the /// item are deleted, the item is deleted. /// /// /// /// DeleteAttributes is an idempotent operation; running it multiple times /// on the same item or attribute does not result in an error response. /// /// /// /// Because Amazon SimpleDB makes multiple copies of item data and uses an eventual consistency /// update model, performing a GetAttributes or Select operation (read) /// immediately after a DeleteAttributes or PutAttributes operation /// (write) might not return updated item data. /// /// /// Container for the necessary parameters to execute the DeleteAttributes service method. /// /// The response from the DeleteAttributes service method, as returned by SimpleDB. /// /// The specified attribute does not exist. /// /// /// The value for a parameter is invalid. /// /// /// The request must contain the specified missing parameter. /// /// /// The specified domain does not exist. /// /// REST API Reference for DeleteAttributes Operation public virtual DeleteAttributesResponse DeleteAttributes(DeleteAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteAttributes operation. /// /// /// Container for the necessary parameters to execute the DeleteAttributes operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteAttributes /// operation. /// REST API Reference for DeleteAttributes Operation public virtual IAsyncResult BeginDeleteAttributes(DeleteAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteAttributes. /// /// Returns a DeleteAttributesResult from SimpleDB. /// REST API Reference for DeleteAttributes Operation public virtual DeleteAttributesResponse EndDeleteAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DeleteDomain /// /// The DeleteDomain operation deletes a domain. Any items (and their attributes) /// in the domain are deleted as well. The DeleteDomain operation might take /// 10 or more seconds to complete. /// /// Container for the necessary parameters to execute the DeleteDomain service method. /// /// The response from the DeleteDomain service method, as returned by SimpleDB. /// /// The request must contain the specified missing parameter. /// /// REST API Reference for DeleteDomain Operation public virtual DeleteDomainResponse DeleteDomain(DeleteDomainRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteDomainRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteDomainResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DeleteDomain operation. /// /// /// Container for the necessary parameters to execute the DeleteDomain operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteDomain /// operation. /// REST API Reference for DeleteDomain Operation public virtual IAsyncResult BeginDeleteDomain(DeleteDomainRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteDomainRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteDomainResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DeleteDomain operation. /// /// /// The IAsyncResult returned by the call to BeginDeleteDomain. /// /// Returns a DeleteDomainResult from SimpleDB. /// REST API Reference for DeleteDomain Operation public virtual DeleteDomainResponse EndDeleteDomain(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region DomainMetadata /// /// Returns information about the domain, including when the domain was created, the /// number of items and attributes in the domain, and the size of the attribute names /// and values. /// /// Container for the necessary parameters to execute the DomainMetadata service method. /// /// The response from the DomainMetadata service method, as returned by SimpleDB. /// /// The request must contain the specified missing parameter. /// /// /// The specified domain does not exist. /// /// REST API Reference for DomainMetadata Operation public virtual DomainMetadataResponse DomainMetadata(DomainMetadataRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DomainMetadataRequestMarshaller.Instance; options.ResponseUnmarshaller = DomainMetadataResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the DomainMetadata operation. /// /// /// Container for the necessary parameters to execute the DomainMetadata operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDomainMetadata /// operation. /// REST API Reference for DomainMetadata Operation public virtual IAsyncResult BeginDomainMetadata(DomainMetadataRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DomainMetadataRequestMarshaller.Instance; options.ResponseUnmarshaller = DomainMetadataResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the DomainMetadata operation. /// /// /// The IAsyncResult returned by the call to BeginDomainMetadata. /// /// Returns a DomainMetadataResult from SimpleDB. /// REST API Reference for DomainMetadata Operation public virtual DomainMetadataResponse EndDomainMetadata(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region GetAttributes /// /// Returns all of the attributes associated with the specified item. Optionally, the /// attributes returned can be limited to one or more attributes by specifying an attribute /// name parameter. /// /// /// /// If the item does not exist on the replica that was accessed for this operation, an /// empty set is returned. The system does not return an error as it cannot guarantee /// the item does not exist on other replicas. /// /// /// Container for the necessary parameters to execute the GetAttributes service method. /// /// The response from the GetAttributes service method, as returned by SimpleDB. /// /// The value for a parameter is invalid. /// /// /// The request must contain the specified missing parameter. /// /// /// The specified domain does not exist. /// /// REST API Reference for GetAttributes Operation public virtual GetAttributesResponse GetAttributes(GetAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the GetAttributes operation. /// /// /// Container for the necessary parameters to execute the GetAttributes operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetAttributes /// operation. /// REST API Reference for GetAttributes Operation public virtual IAsyncResult BeginGetAttributes(GetAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = GetAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the GetAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginGetAttributes. /// /// Returns a GetAttributesResult from SimpleDB. /// REST API Reference for GetAttributes Operation public virtual GetAttributesResponse EndGetAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region ListDomains /// /// The ListDomains operation lists all domains associated with the Access /// Key ID. It returns domain names up to the limit set by MaxNumberOfDomains. /// A NextToken is returned if there are more than MaxNumberOfDomains /// domains. Calling ListDomains successive times with the NextToken /// provided by the operation returns up to MaxNumberOfDomains more domain /// names with each successive operation call. /// /// /// The response from the ListDomains service method, as returned by SimpleDB. /// /// The specified NextToken is not valid. /// /// /// The value for a parameter is invalid. /// /// REST API Reference for ListDomains Operation public virtual ListDomainsResponse ListDomains() { return ListDomains(new ListDomainsRequest()); } /// /// The ListDomains operation lists all domains associated with the Access /// Key ID. It returns domain names up to the limit set by MaxNumberOfDomains. /// A NextToken is returned if there are more than MaxNumberOfDomains /// domains. Calling ListDomains successive times with the NextToken /// provided by the operation returns up to MaxNumberOfDomains more domain /// names with each successive operation call. /// /// Container for the necessary parameters to execute the ListDomains service method. /// /// The response from the ListDomains service method, as returned by SimpleDB. /// /// The specified NextToken is not valid. /// /// /// The value for a parameter is invalid. /// /// REST API Reference for ListDomains Operation public virtual ListDomainsResponse ListDomains(ListDomainsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListDomainsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListDomainsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the ListDomains operation. /// /// /// Container for the necessary parameters to execute the ListDomains operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListDomains /// operation. /// REST API Reference for ListDomains Operation public virtual IAsyncResult BeginListDomains(ListDomainsRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = ListDomainsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListDomainsResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the ListDomains operation. /// /// /// The IAsyncResult returned by the call to BeginListDomains. /// /// Returns a ListDomainsResult from SimpleDB. /// REST API Reference for ListDomains Operation public virtual ListDomainsResponse EndListDomains(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region PutAttributes /// /// The PutAttributes operation creates or replaces attributes in an item. The client /// may specify new attributes using a combination of the Attribute.X.Name /// and Attribute.X.Value parameters. The client specifies the first attribute /// by the parameters Attribute.0.Name and Attribute.0.Value, /// the second attribute by the parameters Attribute.1.Name and Attribute.1.Value, /// and so on. /// /// /// /// Attributes are uniquely identified in an item by their name/value combination. For /// example, a single item can have the attributes { "first_name", "first_value" /// } and { "first_name", second_value" }. However, it cannot have /// two attribute instances where both the Attribute.X.Name and Attribute.X.Value /// are the same. /// /// /// /// Optionally, the requestor can supply the Replace parameter for each /// individual attribute. Setting this value to true causes the new attribute /// value to replace the existing attribute value(s). For example, if an item has the /// attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' /// } and the requestor calls PutAttributes using the attributes { /// 'b', '4' } with the Replace parameter set to true, the final attributes /// of the item are changed to { 'a', '1' } and { 'b', '4' }, /// which replaces the previous values of the 'b' attribute with the new value. /// /// /// /// You cannot specify an empty string as an attribute name. /// /// /// /// Because Amazon SimpleDB makes multiple copies of client data and uses an eventual /// consistency update model, an immediate GetAttributes or Select operation /// (read) immediately after a PutAttributes or DeleteAttributes operation /// (write) might not return the updated data. /// /// /// /// The following limitations are enforced for this operation:
  • 256 total attribute /// name-value pairs per item
  • One billion attributes per domain
  • 10 GB /// of total user data storage per domain
///
///
/// Container for the necessary parameters to execute the PutAttributes service method. /// /// The response from the PutAttributes service method, as returned by SimpleDB. /// /// The specified attribute does not exist. /// /// /// The value for a parameter is invalid. /// /// /// The request must contain the specified missing parameter. /// /// /// The specified domain does not exist. /// /// /// Too many attributes in this domain. /// /// /// Too many bytes in this domain. /// /// /// Too many attributes in this item. /// /// REST API Reference for PutAttributes Operation public virtual PutAttributesResponse PutAttributes(PutAttributesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = PutAttributesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the PutAttributes operation. /// /// /// Container for the necessary parameters to execute the PutAttributes operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutAttributes /// operation. /// REST API Reference for PutAttributes Operation public virtual IAsyncResult BeginPutAttributes(PutAttributesRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = PutAttributesRequestMarshaller.Instance; options.ResponseUnmarshaller = PutAttributesResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the PutAttributes operation. /// /// /// The IAsyncResult returned by the call to BeginPutAttributes. /// /// Returns a PutAttributesResult from SimpleDB. /// REST API Reference for PutAttributes Operation public virtual PutAttributesResponse EndPutAttributes(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region Select /// /// The Select operation returns a set of attributes for ItemNames /// that match the select expression. Select is similar to the standard SQL /// SELECT statement. /// /// /// /// The total size of the response cannot exceed 1 MB in total size. Amazon SimpleDB /// automatically adjusts the number of items returned per page to enforce this limit. /// For example, if the client asks to retrieve 2500 items, but each individual item is /// 10 kB in size, the system returns 100 items and an appropriate NextToken /// so the client can access the next page of results. /// /// /// /// For information on how to construct select expressions, see Using Select to Create /// Amazon SimpleDB Queries in the Developer Guide. /// /// /// Container for the necessary parameters to execute the Select service method. /// /// The response from the Select service method, as returned by SimpleDB. /// /// The specified NextToken is not valid. /// /// /// Too many predicates exist in the query expression. /// /// /// Too many predicates exist in the query expression. /// /// /// The value for a parameter is invalid. /// /// /// The specified query expression syntax is not valid. /// /// /// The request must contain the specified missing parameter. /// /// /// The specified domain does not exist. /// /// /// A timeout occurred when attempting to query the specified domain with specified query /// expression. /// /// /// Too many attributes requested. /// /// REST API Reference for Select Operation public virtual SelectResponse Select(SelectRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SelectRequestMarshaller.Instance; options.ResponseUnmarshaller = SelectResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the Select operation. /// /// /// Container for the necessary parameters to execute the Select operation on AmazonSimpleDBClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSelect /// operation. /// REST API Reference for Select Operation public virtual IAsyncResult BeginSelect(SelectRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = SelectRequestMarshaller.Instance; options.ResponseUnmarshaller = SelectResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the Select operation. /// /// /// The IAsyncResult returned by the call to BeginSelect. /// /// Returns a SelectResult from SimpleDB. /// REST API Reference for Select Operation public virtual SelectResponse EndSelect(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion } }