Use CreateMatchingWorkflow com um AWS SDK - AWS Exemplos de código do SDK

Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use CreateMatchingWorkflow com um AWS SDK

Os exemplos de código a seguir mostram como usar o CreateMatchingWorkflow.

Java
SDK para Java 2.x
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository.

/** * Creates an asynchronous CompletableFuture to manage the creation of a matching workflow. * * @param roleARN the AWS IAM role ARN to be used for the workflow execution * @param workflowName the name of the workflow to be created * @param outputBucket the S3 bucket path where the workflow output will be stored * @param jsonGlueTableArn the ARN of the Glue Data Catalog table to be used as the input source * @param jsonErSchemaMappingName the name of the schema to be used for the input source * @return a CompletableFuture that, when completed, will return the ARN of the created workflow */ public CompletableFuture<String> createMatchingWorkflowAsync( String roleARN , String workflowName , String outputBucket , String jsonGlueTableArn , String jsonErSchemaMappingName , String csvGlueTableArn , String csvErSchemaMappingName) { InputSource jsonInputSource = InputSource.builder() .inputSourceARN(jsonGlueTableArn) .schemaName(jsonErSchemaMappingName) .applyNormalization(false) .build(); InputSource csvInputSource = InputSource.builder() .inputSourceARN(csvGlueTableArn) .schemaName(csvErSchemaMappingName) .applyNormalization(false) .build(); OutputAttribute idOutputAttribute = OutputAttribute.builder() .name("id") .build(); OutputAttribute nameOutputAttribute = OutputAttribute.builder() .name("name") .build(); OutputAttribute emailOutputAttribute = OutputAttribute.builder() .name("email") .build(); OutputAttribute phoneOutputAttribute = OutputAttribute.builder() .name("phone") .build(); OutputSource outputSource = OutputSource.builder() .outputS3Path("s3://" + outputBucket + "/eroutput") .output(idOutputAttribute, nameOutputAttribute, emailOutputAttribute, phoneOutputAttribute) .applyNormalization(false) .build(); ResolutionTechniques resolutionType = ResolutionTechniques.builder() .resolutionType(ResolutionType.ML_MATCHING) .build(); CreateMatchingWorkflowRequest workflowRequest = CreateMatchingWorkflowRequest.builder() .roleArn(roleARN) .description("Created by using the AWS SDK for Java") .workflowName(workflowName) .inputSourceConfig(List.of(jsonInputSource, csvInputSource)) .outputSourceConfig(List.of(outputSource)) .resolutionTechniques(resolutionType) .build(); return getResolutionAsyncClient().createMatchingWorkflow(workflowRequest) .whenComplete((response, exception) -> { if (response != null) { logger.info("Workflow created successfully."); } else { Throwable cause = exception.getCause(); if (cause instanceof ValidationException) { throw new CompletionException("Invalid request: Please check input parameters.", cause); } if (cause instanceof ConflictException) { throw new CompletionException("A conflicting workflow already exists. Resolve conflicts before proceeding.", cause); } throw new CompletionException("Failed to create workflow: " + exception.getMessage(), exception); } }) .thenApply(CreateMatchingWorkflowResponse::workflowArn); }
JavaScript
SDK para JavaScript (v3)
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository.

//The default inputs for this demo are read from the ../inputs.json. import { fileURLToPath } from "node:url"; import { CreateMatchingWorkflowCommand, EntityResolutionClient, } from "@aws-sdk/client-entityresolution"; import data from "../inputs.json" with { type: "json" }; const region = "eu-west-1"; const erClient = new EntityResolutionClient({ region: region }); export const main = async () => { const createMatchingWorkflowParams = { roleArn: `${data.inputs.roleArn}`, workflowName: `${data.inputs.workflowName}`, description: "Created by using the AWS SDK for JavaScript (v3).", inputSourceConfig: [ { inputSourceARN: `${data.inputs.JSONinputSourceARN}`, schemaName: `${data.inputs.schemaNameJson}`, applyNormalization: false, }, { inputSourceARN: `${data.inputs.CSVinputSourceARN}`, schemaName: `${data.inputs.schemaNameCSV}`, applyNormalization: false, }, ], outputSourceConfig: [ { outputS3Path: `s3://${data.inputs.myBucketName}/eroutput`, output: [ { name: "id", }, { name: "name", }, { name: "email", }, { name: "phone", }, ], applyNormalization: false, }, ], resolutionTechniques: { resolutionType: "ML_MATCHING" }, }; try { const command = new CreateMatchingWorkflowCommand( createMatchingWorkflowParams, ); const response = await erClient.send(command); console.log( `Workflow created successfully.\n The workflow ARN is: ${response.workflowArn}`, ); } catch (caught) { console.error(caught.message); throw caught; } };