AWS SDK 예제 GitHub 리포지토리에 더 많은 AWS문서 SDK 예제가 있습니다.
AWS SDK를 사용한 AWS Entity Resolution 코드 예제
다음 코드 예제에서는 AWS Entity Resolution를 AWS 소프트웨어 개발 키트(SDK)와 함께 사용하는 방법을 보여줍니다.
기본 사항은 서비스 내에서 필수 작업을 수행하는 방법을 보여주는 코드 예제입니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
시작
다음 코드 예제에서는 AWS Entity Resolution의 사용을 시작하는 방법을 보여 줍니다.
- Java
-
- SDK for Java 2.x
-
GitHub에 더 많은 내용이 있습니다. AWS코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class HelloEntityResoultion {
private static final Logger logger = LoggerFactory.getLogger(HelloEntityResoultion.class);
private static EntityResolutionAsyncClient entityResolutionAsyncClient;
public static void main(String[] args) {
listMatchingWorkflows();
}
public static EntityResolutionAsyncClient getResolutionAsyncClient() {
if (entityResolutionAsyncClient == null) {
/*
The `NettyNioAsyncHttpClient` class is part of the AWS SDK for Java, version 2,
and it is designed to provide a high-performance, asynchronous HTTP client for interacting with AWS services.
It uses the Netty framework to handle the underlying network communication and the Java NIO API to
provide a non-blocking, event-driven approach to HTTP requests and responses.
*/
SdkAsyncHttpClient httpClient = NettyNioAsyncHttpClient.builder()
.maxConcurrency(50) // Adjust as needed.
.connectionTimeout(Duration.ofSeconds(60)) // Set the connection timeout.
.readTimeout(Duration.ofSeconds(60)) // Set the read timeout.
.writeTimeout(Duration.ofSeconds(60)) // Set the write timeout.
.build();
ClientOverrideConfiguration overrideConfig = ClientOverrideConfiguration.builder()
.apiCallTimeout(Duration.ofMinutes(2)) // Set the overall API call timeout.
.apiCallAttemptTimeout(Duration.ofSeconds(90)) // Set the individual call attempt timeout.
.retryStrategy(RetryMode.STANDARD)
.build();
entityResolutionAsyncClient = EntityResolutionAsyncClient.builder()
.httpClient(httpClient)
.overrideConfiguration(overrideConfig)
.build();
}
return entityResolutionAsyncClient;
}
/**
* Lists all matching workflows using an asynchronous paginator.
* <p>
* This method requests a paginated list of matching workflows from the
* AWS Entity Resolution service and logs the names of the retrieved workflows.
* It uses an asynchronous approach with a paginator and waits for the operation
* to complete using {@code CompletableFuture#join()}.
* </p>
*/
public static void listMatchingWorkflows() {
ListMatchingWorkflowsRequest request = ListMatchingWorkflowsRequest.builder().build();
ListMatchingWorkflowsPublisher paginator =
getResolutionAsyncClient().listMatchingWorkflowsPaginator(request);
// Iterate through the paginated results asynchronously
CompletableFuture<Void> future = paginator.subscribe(response -> {
response.workflowSummaries().forEach(workflow ->
logger.info("Matching Workflow Name: " + workflow.workflowName())
);
});
// Wait for the asynchronous operation to complete
future.join();
}
}
- JavaScript
-
- SDK for JavaScript (v3)
-
GitHub에 더 많은 내용이 있습니다. AWS코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.
import { fileURLToPath } from "node:url";
import {
EntityResolutionClient,
ListMatchingWorkflowsCommand,
} from "@aws-sdk/client-entityresolution";
export const main = async () => {
const region = "eu-west-1";
const erClient = new EntityResolutionClient({ region: region });
try {
const command = new ListMatchingWorkflowsCommand({});
const response = await erClient.send(command);
const workflowSummaries = response.workflowSummaries;
for (const workflowSummary of workflowSummaries) {
console.log(`Attribute name: ${workflowSummaries[0].workflowName} `);
}
if (workflowSummaries.length === 0) {
console.log("No matching workflows found.");
}
} catch (error) {
console.error(
`An error occurred in listing the workflow summaries: ${error.message} \n Exiting program.`,
);
return;
}
};