docs
0
# Client Management
1
2
Core client interfaces and builders for creating Lambda service connections with various configuration options including region, credentials, and endpoint configuration.
3
4
## Capabilities
5
6
### AWSLambda Interface
7
8
Primary synchronous client interface providing all Lambda service operations.
9
10
```java { .api }
11
/**
12
* AWS Lambda synchronous client interface
13
* Provides access to all Lambda service operations with blocking execution
14
*/
15
public interface AWSLambda {
16
/** Service endpoint prefix */
17
String ENDPOINT_PREFIX = "lambda";
18
19
// Function Management
20
CreateFunctionResult createFunction(CreateFunctionRequest request);
21
GetFunctionResult getFunction(GetFunctionRequest request);
22
UpdateFunctionCodeResult updateFunctionCode(UpdateFunctionCodeRequest request);
23
UpdateFunctionConfigurationResult updateFunctionConfiguration(UpdateFunctionConfigurationRequest request);
24
DeleteFunctionResult deleteFunction(DeleteFunctionRequest request);
25
ListFunctionsResult listFunctions(ListFunctionsRequest request);
26
ListFunctionsResult listFunctions(); // Simplified overload
27
GetFunctionConfigurationResult getFunctionConfiguration(GetFunctionConfigurationRequest request);
28
29
// Function Invocation
30
InvokeResult invoke(InvokeRequest request);
31
InvokeAsyncResult invokeAsync(InvokeAsyncRequest request); // Deprecated
32
33
// Version and Alias Management
34
PublishVersionResult publishVersion(PublishVersionRequest request);
35
ListVersionsByFunctionResult listVersionsByFunction(ListVersionsByFunctionRequest request);
36
CreateAliasResult createAlias(CreateAliasRequest request);
37
GetAliasResult getAlias(GetAliasRequest request);
38
UpdateAliasResult updateAlias(UpdateAliasRequest request);
39
DeleteAliasResult deleteAlias(DeleteAliasRequest request);
40
ListAliasesResult listAliases(ListAliasesRequest request);
41
42
// Event Source Mapping
43
CreateEventSourceMappingResult createEventSourceMapping(CreateEventSourceMappingRequest request);
44
GetEventSourceMappingResult getEventSourceMapping(GetEventSourceMappingRequest request);
45
UpdateEventSourceMappingResult updateEventSourceMapping(UpdateEventSourceMappingRequest request);
46
DeleteEventSourceMappingResult deleteEventSourceMapping(DeleteEventSourceMappingRequest request);
47
ListEventSourceMappingsResult listEventSourceMappings(ListEventSourceMappingsRequest request);
48
ListEventSourceMappingsResult listEventSourceMappings(); // Simplified overload
49
50
// Layer Management
51
PublishLayerVersionResult publishLayerVersion(PublishLayerVersionRequest request);
52
GetLayerVersionResult getLayerVersion(GetLayerVersionRequest request);
53
GetLayerVersionByArnResult getLayerVersionByArn(GetLayerVersionByArnRequest request);
54
DeleteLayerVersionResult deleteLayerVersion(DeleteLayerVersionRequest request);
55
ListLayersResult listLayers(ListLayersRequest request);
56
ListLayerVersionsResult listLayerVersions(ListLayerVersionsRequest request);
57
AddLayerVersionPermissionResult addLayerVersionPermission(AddLayerVersionPermissionRequest request);
58
RemoveLayerVersionPermissionResult removeLayerVersionPermission(RemoveLayerVersionPermissionRequest request);
59
GetLayerVersionPolicyResult getLayerVersionPolicy(GetLayerVersionPolicyRequest request);
60
61
// Concurrency Management
62
PutFunctionConcurrencyResult putFunctionConcurrency(PutFunctionConcurrencyRequest request);
63
GetFunctionConcurrencyResult getFunctionConcurrency(GetFunctionConcurrencyRequest request);
64
DeleteFunctionConcurrencyResult deleteFunctionConcurrency(DeleteFunctionConcurrencyRequest request);
65
PutProvisionedConcurrencyConfigResult putProvisionedConcurrencyConfig(PutProvisionedConcurrencyConfigRequest request);
66
GetProvisionedConcurrencyConfigResult getProvisionedConcurrencyConfig(GetProvisionedConcurrencyConfigRequest request);
67
DeleteProvisionedConcurrencyConfigResult deleteProvisionedConcurrencyConfig(DeleteProvisionedConcurrencyConfigRequest request);
68
ListProvisionedConcurrencyConfigsResult listProvisionedConcurrencyConfigs(ListProvisionedConcurrencyConfigsRequest request);
69
70
// Code Signing
71
CreateCodeSigningConfigResult createCodeSigningConfig(CreateCodeSigningConfigRequest request);
72
GetCodeSigningConfigResult getCodeSigningConfig(GetCodeSigningConfigRequest request);
73
UpdateCodeSigningConfigResult updateCodeSigningConfig(UpdateCodeSigningConfigRequest request);
74
DeleteCodeSigningConfigResult deleteCodeSigningConfig(DeleteCodeSigningConfigRequest request);
75
ListCodeSigningConfigsResult listCodeSigningConfigs(ListCodeSigningConfigsRequest request);
76
PutFunctionCodeSigningConfigResult putFunctionCodeSigningConfig(PutFunctionCodeSigningConfigRequest request);
77
GetFunctionCodeSigningConfigResult getFunctionCodeSigningConfig(GetFunctionCodeSigningConfigRequest request);
78
DeleteFunctionCodeSigningConfigResult deleteFunctionCodeSigningConfig(DeleteFunctionCodeSigningConfigRequest request);
79
ListFunctionsByCodeSigningConfigResult listFunctionsByCodeSigningConfig(ListFunctionsByCodeSigningConfigRequest request);
80
81
// Function URLs
82
CreateFunctionUrlConfigResult createFunctionUrlConfig(CreateFunctionUrlConfigRequest request);
83
GetFunctionUrlConfigResult getFunctionUrlConfig(GetFunctionUrlConfigRequest request);
84
UpdateFunctionUrlConfigResult updateFunctionUrlConfig(UpdateFunctionUrlConfigRequest request);
85
DeleteFunctionUrlConfigResult deleteFunctionUrlConfig(DeleteFunctionUrlConfigRequest request);
86
ListFunctionUrlConfigsResult listFunctionUrlConfigs(ListFunctionUrlConfigsRequest request);
87
88
// Event Invoke Configuration
89
PutFunctionEventInvokeConfigResult putFunctionEventInvokeConfig(PutFunctionEventInvokeConfigRequest request);
90
GetFunctionEventInvokeConfigResult getFunctionEventInvokeConfig(GetFunctionEventInvokeConfigRequest request);
91
UpdateFunctionEventInvokeConfigResult updateFunctionEventInvokeConfig(UpdateFunctionEventInvokeConfigRequest request);
92
DeleteFunctionEventInvokeConfigResult deleteFunctionEventInvokeConfig(DeleteFunctionEventInvokeConfigRequest request);
93
ListFunctionEventInvokeConfigsResult listFunctionEventInvokeConfigs(ListFunctionEventInvokeConfigsRequest request);
94
95
// Permissions and Policies
96
AddPermissionResult addPermission(AddPermissionRequest request);
97
RemovePermissionResult removePermission(RemovePermissionRequest request);
98
GetPolicyResult getPolicy(GetPolicyRequest request);
99
100
// Tagging
101
TagResourceResult tagResource(TagResourceRequest request);
102
UntagResourceResult untagResource(UntagResourceRequest request);
103
ListTagsResult listTags(ListTagsRequest request);
104
105
// Account and Runtime Management
106
GetAccountSettingsResult getAccountSettings(GetAccountSettingsRequest request);
107
GetRuntimeManagementConfigResult getRuntimeManagementConfig(GetRuntimeManagementConfigRequest request);
108
PutRuntimeManagementConfigResult putRuntimeManagementConfig(PutRuntimeManagementConfigRequest request);
109
110
// Utility Methods
111
void shutdown();
112
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
113
AWSLambdaWaiters waiters();
114
}
115
```
116
117
### AWSLambdaAsync Interface
118
119
Asynchronous client interface extending AWSLambda with Future-based operations and AsyncHandler support.
120
121
```java { .api }
122
/**
123
* AWS Lambda asynchronous client interface
124
* All operations return Future objects and support AsyncHandler callbacks
125
*/
126
public interface AWSLambdaAsync extends AWSLambda {
127
// All methods from AWSLambda plus async versions:
128
129
/**
130
* Asynchronous function creation with callback support
131
* @param request Function creation parameters
132
* @param asyncHandler Optional callback handler for completion notification
133
* @return Future containing CreateFunctionResult
134
*/
135
Future<CreateFunctionResult> createFunctionAsync(
136
CreateFunctionRequest request,
137
AsyncHandler<CreateFunctionRequest, CreateFunctionResult> asyncHandler
138
);
139
140
/**
141
* Asynchronous function invocation
142
* @param request Invocation parameters
143
* @param asyncHandler Optional callback handler
144
* @return Future containing InvokeResult
145
*/
146
Future<InvokeResult> invokeAsync(
147
InvokeRequest request,
148
AsyncHandler<InvokeRequest, InvokeResult> asyncHandler
149
);
150
151
// Similar async methods for all other operations...
152
}
153
```
154
155
### AWSLambdaClientBuilder
156
157
Builder pattern implementation for creating configured AWSLambda client instances.
158
159
```java { .api }
160
/**
161
* Builder for creating AWSLambda client instances with custom configuration
162
*/
163
public final class AWSLambdaClientBuilder
164
extends AwsSyncClientBuilder<AWSLambdaClientBuilder, AWSLambda> {
165
166
/**
167
* Create default builder instance
168
* @return New AWSLambdaClientBuilder
169
*/
170
public static AWSLambdaClientBuilder standard();
171
172
/**
173
* Create default client with standard configuration
174
* @return Configured AWSLambda client
175
*/
176
public static AWSLambda defaultClient();
177
178
/**
179
* Build the configured client
180
* @return AWSLambda client instance
181
*/
182
@Override
183
public AWSLambda build();
184
}
185
```
186
187
### AWSLambdaAsyncClientBuilder
188
189
Builder for creating asynchronous Lambda client instances.
190
191
```java { .api }
192
/**
193
* Builder for creating AWSLambdaAsync client instances
194
*/
195
public final class AWSLambdaAsyncClientBuilder
196
extends AwsAsyncClientBuilder<AWSLambdaAsyncClientBuilder, AWSLambdaAsync> {
197
198
/**
199
* Create default async builder
200
* @return New AWSLambdaAsyncClientBuilder
201
*/
202
public static AWSLambdaAsyncClientBuilder standard();
203
204
/**
205
* Create default async client
206
* @return Configured AWSLambdaAsync client
207
*/
208
public static AWSLambdaAsync defaultClient();
209
210
/**
211
* Build the configured async client
212
* @return AWSLambdaAsync client instance
213
*/
214
@Override
215
public AWSLambdaAsync build();
216
}
217
```
218
219
### Abstract Base Classes
220
221
Base classes for custom client implementations.
222
223
```java { .api }
224
/**
225
* Abstract base class for custom AWSLambda implementations
226
* Provides default implementations for utility methods
227
*/
228
public abstract class AbstractAWSLambda implements AWSLambda {
229
protected AbstractAWSLambda();
230
231
@Override
232
public void shutdown() {
233
// Default implementation
234
}
235
236
@Override
237
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
238
// Default implementation
239
return null;
240
}
241
242
@Override
243
public AWSLambdaWaiters waiters() {
244
// Default waiter implementation
245
return new AWSLambdaWaiters(this);
246
}
247
}
248
249
/**
250
* Abstract base class for custom AWSLambdaAsync implementations
251
*/
252
public abstract class AbstractAWSLambdaAsync extends AbstractAWSLambda implements AWSLambdaAsync {
253
protected AbstractAWSLambdaAsync();
254
255
// Provides default async implementations that delegate to sync methods
256
@Override
257
public Future<CreateFunctionResult> createFunctionAsync(
258
CreateFunctionRequest request,
259
AsyncHandler<CreateFunctionRequest, CreateFunctionResult> asyncHandler
260
) {
261
// Default async delegation implementation
262
return null;
263
}
264
265
// Similar default implementations for other async methods...
266
}
267
```
268
269
**Usage Examples:**
270
271
```java
272
import com.amazonaws.services.lambda.*;
273
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
274
import com.amazonaws.regions.Regions;
275
276
// Standard synchronous client
277
AWSLambda lambdaClient = AWSLambdaClientBuilder.standard()
278
.withRegion(Regions.US_EAST_1)
279
.build();
280
281
// Configured synchronous client
282
AWSLambda configuredClient = AWSLambdaClientBuilder.standard()
283
.withRegion(Regions.US_WEST_2)
284
.withCredentials(new ProfileCredentialsProvider("myprofile"))
285
.build();
286
287
// Asynchronous client
288
AWSLambdaAsync asyncClient = AWSLambdaAsyncClientBuilder.standard()
289
.withRegion(Regions.EU_WEST_1)
290
.build();
291
292
// Default clients (uses default credential chain and region)
293
AWSLambda defaultClient = AWSLambdaClientBuilder.defaultClient();
294
AWSLambdaAsync defaultAsync = AWSLambdaAsyncClientBuilder.defaultClient();
295
296
// Don't forget to shutdown when done
297
lambdaClient.shutdown();
298
asyncClient.shutdown();
299
```