Uso de CreateMatchingWorkflow con un AWS SDK - Ejemplos de código de AWS SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de GitHub de ejemplos de AWS SDK de documentos.

Uso de CreateMatchingWorkflow con un AWS SDK

Los siguientes ejemplos de código muestran cómo utilizar CreateMatchingWorkflow.

Java
SDK para Java 2.x
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

/** * 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); }
  • Para obtener información sobre la API, consulte CreateMatchingWorkflow en la Referencia de la API de AWS SDK for Java 2.x.

JavaScript
SDK para JavaScript (v3)
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

//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; } };
  • Para obtener información sobre la API, consulte CreateMatchingWorkflow en la Referencia de la API de AWS SDK para JavaScript.