0
# Core Infrastructure
1
2
Essential SDK building blocks including authentication interfaces, region handling, protocol implementations, HTTP client interfaces, and core utilities that provide the foundation for all AWS service interactions.
3
4
## Core Imports
5
6
```xml
7
<!-- Import BOM for version management -->
8
<dependencyManagement>
9
<dependencies>
10
<dependency>
11
<groupId>software.amazon.awssdk</groupId>
12
<artifactId>bom</artifactId>
13
<version>2.33.4</version>
14
<type>pom</type>
15
<scope>import</scope>
16
</dependency>
17
</dependencies>
18
</dependencyManagement>
19
```
20
21
## Capabilities
22
23
### SDK Core
24
25
The core SDK functionality providing the base infrastructure for all AWS service clients.
26
27
```xml { .api }
28
/**
29
* Core SDK functionality and base infrastructure
30
*/
31
<dependency>
32
<groupId>software.amazon.awssdk</groupId>
33
<artifactId>sdk-core</artifactId>
34
<version>${awsjavasdk.version}</version>
35
</dependency>
36
```
37
38
### Authentication Core
39
40
Core authentication interfaces and implementations for AWS service requests.
41
42
```xml { .api }
43
/**
44
* Core authentication interfaces and base implementations
45
*/
46
<dependency>
47
<groupId>software.amazon.awssdk</groupId>
48
<artifactId>auth</artifactId>
49
<version>${awsjavasdk.version}</version>
50
</dependency>
51
```
52
53
### AWS Core
54
55
AWS-specific functionality built on top of the generic SDK core.
56
57
```xml { .api }
58
/**
59
* AWS-specific core functionality and utilities
60
*/
61
<dependency>
62
<groupId>software.amazon.awssdk</groupId>
63
<artifactId>aws-core</artifactId>
64
<version>${awsjavasdk.version}</version>
65
</dependency>
66
```
67
68
### Regions
69
70
AWS regions and endpoints handling for service discovery and regional configuration.
71
72
```xml { .api }
73
/**
74
* AWS regions, endpoints, and regional configuration
75
*/
76
<dependency>
77
<groupId>software.amazon.awssdk</groupId>
78
<artifactId>regions</artifactId>
79
<version>${awsjavasdk.version}</version>
80
</dependency>
81
```
82
83
### Configuration Profiles
84
85
AWS configuration profiles for credential and configuration management.
86
87
```xml { .api }
88
/**
89
* AWS configuration profiles and settings management
90
*/
91
<dependency>
92
<groupId>software.amazon.awssdk</groupId>
93
<artifactId>profiles</artifactId>
94
<version>${awsjavasdk.version}</version>
95
</dependency>
96
```
97
98
### Protocol Core
99
100
Core protocol functionality for AWS service communication.
101
102
```xml { .api }
103
/**
104
* Core protocol functionality and base interfaces
105
*/
106
<dependency>
107
<groupId>software.amazon.awssdk</groupId>
108
<artifactId>protocol-core</artifactId>
109
<version>${awsjavasdk.version}</version>
110
</dependency>
111
```
112
113
### Protocol Implementations
114
115
Specific protocol implementations for different AWS service communication patterns.
116
117
```xml { .api }
118
/**
119
* AWS CBOR protocol implementation
120
*/
121
<dependency>
122
<groupId>software.amazon.awssdk</groupId>
123
<artifactId>aws-cbor-protocol</artifactId>
124
<version>${awsjavasdk.version}</version>
125
</dependency>
126
127
/**
128
* AWS JSON protocol implementation
129
*/
130
<dependency>
131
<groupId>software.amazon.awssdk</groupId>
132
<artifactId>aws-json-protocol</artifactId>
133
<version>${awsjavasdk.version}</version>
134
</dependency>
135
136
/**
137
* AWS Query protocol implementation
138
*/
139
<dependency>
140
<groupId>software.amazon.awssdk</groupId>
141
<artifactId>aws-query-protocol</artifactId>
142
<version>${awsjavasdk.version}</version>
143
</dependency>
144
145
/**
146
* AWS XML protocol implementation
147
*/
148
<dependency>
149
<groupId>software.amazon.awssdk</groupId>
150
<artifactId>aws-xml-protocol</artifactId>
151
<version>${awsjavasdk.version}</version>
152
</dependency>
153
154
/**
155
* Smithy RPC v2 protocol implementation
156
*/
157
<dependency>
158
<groupId>software.amazon.awssdk</groupId>
159
<artifactId>smithy-rpcv2-protocol</artifactId>
160
<version>${awsjavasdk.version}</version>
161
</dependency>
162
```
163
164
### Service Provider Interfaces
165
166
Core service provider interfaces for extensibility and plugin architecture.
167
168
```xml { .api }
169
/**
170
* HTTP client service provider interface
171
*/
172
<dependency>
173
<groupId>software.amazon.awssdk</groupId>
174
<artifactId>http-client-spi</artifactId>
175
<version>${awsjavasdk.version}</version>
176
</dependency>
177
178
/**
179
* Identity provider service provider interface
180
*/
181
<dependency>
182
<groupId>software.amazon.awssdk</groupId>
183
<artifactId>identity-spi</artifactId>
184
<version>${awsjavasdk.version}</version>
185
</dependency>
186
187
/**
188
* Retry mechanisms service provider interface
189
*/
190
<dependency>
191
<groupId>software.amazon.awssdk</groupId>
192
<artifactId>retries-spi</artifactId>
193
<version>${awsjavasdk.version}</version>
194
</dependency>
195
196
/**
197
* Endpoints service provider interface
198
*/
199
<dependency>
200
<groupId>software.amazon.awssdk</groupId>
201
<artifactId>endpoints-spi</artifactId>
202
<version>${awsjavasdk.version}</version>
203
</dependency>
204
205
/**
206
* Checksum calculation service provider interface
207
*/
208
<dependency>
209
<groupId>software.amazon.awssdk</groupId>
210
<artifactId>checksums-spi</artifactId>
211
<version>${awsjavasdk.version}</version>
212
</dependency>
213
214
/**
215
* Metrics publishing service provider interface
216
*/
217
<dependency>
218
<groupId>software.amazon.awssdk</groupId>
219
<artifactId>metrics-spi</artifactId>
220
<version>${awsjavasdk.version}</version>
221
</dependency>
222
```
223
224
### Utilities
225
226
General utilities and helper components used throughout the SDK.
227
228
```xml { .api }
229
/**
230
* General SDK utilities and helper functions
231
*/
232
<dependency>
233
<groupId>software.amazon.awssdk</groupId>
234
<artifactId>utils</artifactId>
235
<version>${awsjavasdk.version}</version>
236
</dependency>
237
238
/**
239
* JSON processing utilities
240
*/
241
<dependency>
242
<groupId>software.amazon.awssdk</groupId>
243
<artifactId>json-utils</artifactId>
244
<version>${awsjavasdk.version}</version>
245
</dependency>
246
247
/**
248
* AWS ARN parsing and manipulation utilities
249
*/
250
<dependency>
251
<groupId>software.amazon.awssdk</groupId>
252
<artifactId>arns</artifactId>
253
<version>${awsjavasdk.version}</version>
254
</dependency>
255
256
/**
257
* SDK annotations and markers
258
*/
259
<dependency>
260
<groupId>software.amazon.awssdk</groupId>
261
<artifactId>annotations</artifactId>
262
<version>${awsjavasdk.version}</version>
263
</dependency>
264
```
265
266
### Retry Mechanisms
267
268
Retry implementations for handling transient failures and service throttling.
269
270
```xml { .api }
271
/**
272
* Retry mechanisms and policies
273
*/
274
<dependency>
275
<groupId>software.amazon.awssdk</groupId>
276
<artifactId>retries</artifactId>
277
<version>${awsjavasdk.version}</version>
278
</dependency>
279
```
280
281
### Data Integrity
282
283
Checksum calculation and validation for request and response data integrity.
284
285
```xml { .api }
286
/**
287
* Checksum calculation and validation implementations
288
*/
289
<dependency>
290
<groupId>software.amazon.awssdk</groupId>
291
<artifactId>checksums</artifactId>
292
<version>${awsjavasdk.version}</version>
293
</dependency>
294
```
295
296
### Third-party Dependencies
297
298
Managed third-party dependencies used by the SDK with version compatibility guarantees.
299
300
```xml { .api }
301
/**
302
* Jackson core library for JSON processing
303
*/
304
<dependency>
305
<groupId>software.amazon.awssdk</groupId>
306
<artifactId>third-party-jackson-core</artifactId>
307
<version>${awsjavasdk.version}</version>
308
</dependency>
309
310
/**
311
* Jackson CBOR format support
312
*/
313
<dependency>
314
<groupId>software.amazon.awssdk</groupId>
315
<artifactId>third-party-jackson-dataformat-cbor</artifactId>
316
<version>${awsjavasdk.version}</version>
317
</dependency>
318
```
319
320
## Usage Examples
321
322
**Basic core infrastructure setup:**
323
324
```xml
325
<dependencies>
326
<!-- Core SDK infrastructure -->
327
<dependency>
328
<groupId>software.amazon.awssdk</groupId>
329
<artifactId>sdk-core</artifactId>
330
</dependency>
331
<dependency>
332
<groupId>software.amazon.awssdk</groupId>
333
<artifactId>auth</artifactId>
334
</dependency>
335
<dependency>
336
<groupId>software.amazon.awssdk</groupId>
337
<artifactId>regions</artifactId>
338
</dependency>
339
</dependencies>
340
```
341
342
**Protocol-specific dependencies:**
343
344
```xml
345
<dependencies>
346
<!-- JSON protocol for services using JSON -->
347
<dependency>
348
<groupId>software.amazon.awssdk</groupId>
349
<artifactId>aws-json-protocol</artifactId>
350
</dependency>
351
352
<!-- XML protocol for services using XML -->
353
<dependency>
354
<groupId>software.amazon.awssdk</groupId>
355
<artifactId>aws-xml-protocol</artifactId>
356
</dependency>
357
</dependencies>
358
```