/// <summary> /// For a specific time period, retrieve the top <code>N</code> dimension keys for a metric. /// /// /// <note> /// <para> /// Each response element returns a maximum of 500 bytes. For larger elements, such as /// SQL statements, only the first 500 bytes are returned. /// </para> /// </note> /// </summary> /// <param name="request">Container for the necessary parameters to execute the DescribeDimensionKeys service method.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// /// <returns>The response from the DescribeDimensionKeys service method, as returned by PI.</returns> /// <exception cref="Amazon.PI.Model.InternalServiceErrorException"> /// The request failed due to an unknown error. /// </exception> /// <exception cref="Amazon.PI.Model.InvalidArgumentException"> /// One of the arguments provided is invalid for this request. /// </exception> /// <exception cref="Amazon.PI.Model.NotAuthorizedException"> /// The user is not authorized to perform this request. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DescribeDimensionKeys">REST API Reference for DescribeDimensionKeys Operation</seealso> public virtual Task <DescribeDimensionKeysResponse> DescribeDimensionKeysAsync(DescribeDimensionKeysRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeDimensionKeysRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeDimensionKeysResponseUnmarshaller.Instance; return(InvokeAsync <DescribeDimensionKeysResponse>(request, options, cancellationToken)); }