Procesamiento por microlotes - Spectrum_OnDemand - spectrum_platform - web_services - 23.1

Guía de servicios web de Spectrum

Product type
Portfolio
Integrate
Product family
Spectrum
Product
Spectrum > Web Services
Version
23.1
Language
Español (México)
Product name
Spectrum Technology Platform
Title
Guía de servicios web de Spectrum
First publish date
2007
Last updated
2024-02-07
Published on
2024-02-07T18:09:34.894000

El procesamiento por microlotes es una técnica donde se incluye más de un registro en una sola solicitud de servicio. Si se incluyen varios registros en una solicitud, en lugar de enviar solicitudes individuales para cada registro, se podrá mejorar considerablemente el rendimiento cuando se procesan grandes cantidades de registros a través de un servicio. Spectrum Technology Platform admite el procesamiento de microlotes para servicios web REST y SOAP.

Extremo de microlote

Para AMER, utilice amer-microbatch.precisely.com. Tiene un tiempo de espera de 5 minutos, lo que permite utilizar tamaños de microlotes más grandes.
Para EMEA, use emea-microbatch.precisely.com. Tiene un tiempo de espera de 5 minutos, lo que permite utilizar tamaños de microlotes más grandes.
En el caso de APAC, utilice el extremo estándar, ya que no hay punto de conexión especial de microlotes. Este punto de conexión tiene un tiempo de espera de 30 segundos, por lo que la cantidad de registros en un microlote deberá ser menor.

Tamaño de los microlotes

En el caso de AMER y EMEA, en el que se utiliza el punto de conexión especial de microlotes, puede colocar tantos registros como quepan dentro de un tiempo de espera de 5 minutos. Incluso si se agota el tiempo de espera, se le cobrará por cada registro en la solicitud, por lo que se recomienda elegir la cantidad de registros que se puedan procesar en 4 minutos en caso de que el procesamiento tome más tiempo.

En el caso de APAC, en el que se usa el punto de conexión estándar, la cantidad máxima de registros que se permite en una solicitud depende de la categoría del servicio.

Categoría del servicio Entidades máximas de entrada
Direccionamiento 25
Análisis 10
Calidad de Datos 10
Geocodificación 25
Consumer Insight 10
PSAP 25
Enrutamiento 1
Spatial 1
Jurisdicción fiscal 25
Telecomunicaciones 1

Cada invocación de microlote debe ser síncrona (1 a la vez). Envíe la solicitud y espere la respuesta antes de enviar otra solicitud. Las invocaciones asincrónicas de microlotes pueden desbordar Spectrum Technology Platform, lo que puede generar una disminución del rendimiento para otros clientes. Si utiliza invocaciones o microlotes asíncronos que son demasiado grandes, es posible que su cuenta se desactive para garantizar que el uso de Spectrum Technology Platform por parte de otros clientes no se vea afectado.

Uso de una ID de registro

Resulta útil asignar una ID a cada registro de un microlote, a fin de poder relacionar los registros de la solicitud con aquellos de la respuesta. Puede usar los campos de usuario para esto. Para obtener información sobre los campos de usuario, consulte Interfaz REST. Para obtener información sobre los campos de usuario, consulte La interfaz SOAP.

Procesamiento por microlotes en REST

Para procesar microlotes mediante el servicio web REST, incluya dos o más registros en archivo XML o JSON en el cuerpo de la solicitud y envíela utilizando el método POST. Para obtener más información sobre el envío de una solicitud POST a un servicio web de Spectrum Technology Platform, consulte Solicitud JSON POST y Solicitud XML POST.

Por ejemplo, en esta solicitud se incluyen dos registros en archivo XML en el cuerpo de la solicitud:

POST https://spectrum.precisely.com/rest/ValidateAddressPOST/results.xml HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/xml Authorization: Basic YWRtaW46YWRtaW4= Content-Length: 533 Host: spectrum.precisely.com Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5)  <ValidateAddressPOSTRequest xmlns:svc="http://www.pb.com/spectrum/services/ValidateAddressPOST">     <svc:Input>        <svc:Row>           <svc:AddressLine1>3001 Summer</svc:AddressLine1>           <svc:City>Stamford</svc:City>           <svc:StateProvince>CT</svc:StateProvince>        </svc:Row>        <svc:Row>           <svc:AddressLine1>33 west monroe</svc:AddressLine1>           <svc:City>Chicago</svc:City>           <svc:StateProvince>IL</svc:StateProvince>        </svc:Row>     </svc:Input> </ValidateAddressPOSTRequest>
Nota: Los servicios no tienen el método POST habilitado de forma predeterminada. Para procesar microlotes mediante estos servicios, se debe habilitar la compatibilidad con POST. Para obtener más información, consulte Incorporación de compatibilidad POST a un servicio web REST.

Procesamiento por microlotes en SOAP

Para procesar microlotes en un servicio web SOAP, debe incluir dos o más registros en la solicitud SOAP. Por ejemplo, en esta solicitud se incluyen dos registros:

POST http://spectrum.example.com:8080/soap/ValidateAddress HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=UTF-8 SOAPAction: "" Authorization: Basic YWRtaW46YWRtaW4= Content-Length: 782 Host: config813vm0:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5)  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:val="http://www.pb.com/spectrum/services/ValidateAddress">    <soapenv:Header/>    <soapenv:Body>       <val:ValidateAddressRequest>          <val:input_port>             <val:Address>                <val:AddressLine1>1 N. State St.</val:AddressLine1>                <val:City>Chicago</val:City>                <val:StateProvince>IL</val:StateProvince>             </val:Address>             <val:Address>                <val:AddressLine1>3001 summer</val:AddressLine1>                <val:City>stamford</val:City>                <val:StateProvince>ct</val:StateProvince>             </val:Address>          </val:input_port>       </val:ValidateAddressRequest>    </soapenv:Body> </soapenv:Envelope>

Procesamiento por microlotes en la API del cliente

Para procesar microlotes en una solicitud API de servicio, se deben enviar varias filas de datos en la solicitud. Por ejemplo, en esta clase .NET se envían dos filas en la solicitud:

using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net; using System.Text; using ConsoleApplication1.ValidateAddress_Reference;  namespace Test {     class Program     {         static void Main(string[] args)         {             var validateClient = new ValidateAddress {Credentials = new NetworkCredential("admin", "admin")};              var address1 = new input_portAddress             {                 AddressLine1 = "1825B Kramer Lane",                 AddressLine2 = "Suite 100",                 PostalCode = "78758",                 City = "Austin",                 StateProvince = "Texas"             };              var address2 = new input_portAddress             {                 AddressLine1 = "100 Congress",                  PostalCode = "78701",                  City = "Austin",                  StateProvince = "Texas"             };              var addresses = new input_portAddress[2];             addresses[0] = address1;             addresses[1] = address2;              var options = new options {OutputCasing = OutputCasing.M};             output_portAddress[] results = validateClient.CallValidateAddress(options, addresses);              for (int i = 0; i < results.Length; i++)             {                 System.Console.WriteLine("Record " + (i+1) + ":");                 System.Console.WriteLine("AddressLine1=" + results[i].AddressLine1);                 System.Console.WriteLine("City=" + results[i].City);                 System.Console.WriteLine("StateProvince=" + results[i].StateProvince);                 System.Console.WriteLine("PostalCode=" + results[i].PostalCode + "\n");             }                          System.Console.Write("Press any key to continue...");             System.Console.ReadKey();         }     } }
Consejo: Evite las desconexiones entre solicitudes. El proceso de desconexión y conexión puede reducir el rendimiento.