

# Making Amazon Web Services service requests using the Amazon SDK for C\+\+
<a name="using-service-client"></a>

 To programmatically access Amazon Web Services services, SDKs use a client class for each Amazon Web Services service. For example, if your application needs to access Amazon EC2, your application creates an Amazon EC2 client object to interface with that service. You then use the service client to make requests to that Amazon Web Services service. 

To make a request to an Amazon Web Services service, you must first create and [configure](configuring.md) a service client. For each Amazon Web Services service your code uses, it has its own library and its own dedicated type for interacting with it. The client exposes one method for each API operation exposed by the service. 

The namespace for a client class follows the convention `Aws::Service::ServiceClient`. For example, the client class for Amazon Identity and Access Management (IAM) is `Aws::IAM::IAMClient` and the Amazon S3 client class is `Aws::S3::S3Client`.

All client classes for all Amazon services are thread-safe.

When instantiating a client class, Amazon credentials must be supplied. Credentials can be supplied from your code, the environment, or the shared Amazon `config` file and shared `credentials` file. For more information about credentials, see [instructions for setting up the recommended IAM Identity Center authentication](credentials.md) or use [another credential provider that is available](credproviders.md).