54.7. 지원되는 iPXE API


구성 요소에서 다음과 같은 iPXE API를 지원합니다.

생산자 엔드포인트는 다음 API를 사용할 수 있습니다. 대부분의 API는 한 번에 하나의 레코드를 처리하며 쿼리 API는 여러 레코드를 검색할 수 있습니다.

54.7.1. rest API

다음과 같이 operationName 을 사용할 수 있습니다.

  • getVersions - 지원되는 10.0.0.1 REST API 버전 가져오기
  • GetResources - 사용 가능한 10.0.0.1 REST 리소스 끝점을 가져옵니다.
  • getGlobalObjects - 사용 가능한 모든 SObject 유형에 대한 메타데이터를 가져옵니다.
  • getBasicInfo - 특정 SObject 유형의 기본 메타데이터를 가져옵니다.
  • GetDescription - 특정 SObject 유형에 대한 포괄적인 메타데이터를 가져옵니다.
  • getSObject - gRPC Id를 사용하여 SObject를 가져옵니다.
  • createSObject - SObject를 생성
  • updateSObject - Id를 사용하여 SObject 업데이트
  • DeleteSObject - Id를 사용하여 SObject 삭제
  • getSObjectWithId - 외부(사용자 정의) id 필드를 사용하여 SObject를 가져옵니다.
  • upsertSObject - 외부 ID를 사용하여 SObject를 업데이트하거나 삽입합니다.
  • DeleteSObjectWithId - 외부 ID를 사용하여 SObject 삭제
  • 쿼리 - CloudEvent SOQL 쿼리 실행
  • query>-< - 'query' API에서 반환된 결과 링크를 사용하여 더 많은 결과(결과가 많은 경우)
  • Search - Sales SOSL 쿼리 실행
  • 제한 - 조직 API 사용 제한 가져오기
  • 최근 - 최근 항목 가져오기
  • 승인 - 승인 프로세스를 위해 레코드 또는 레코드(배치) 제출
  • 승인 - 모든 승인 프로세스 목록 가져오기
  • 복합 - 최대 25개의 관련 REST 요청을 제출하고 개별 응답을 수신합니다. 제한 없이 "raw" composite을 사용할 수도 있습니다.
  • composite-tree - 한 번에 상위-하위 관계(최대 5개 수준)를 사용하여 최대 200개의 레코드를 만듭니다.
  • composite-batch - 일괄 처리로 요청 구성 제출
  • composite>-<SObject>-<s - 동일한 개체 유형의 하나 이상의 레코드입니다.
  • compositeCreateSObject>-<s - 최대 200개의 레코드를 추가하고 SaveSObjectResult 오브젝트 목록을 반환합니다.
  • compositeUpdateSObject>-<s - 최대 200개의 레코드를 업데이트하여 SaveSObjectResult 오브젝트 목록을 반환합니다.
  • compositeUpsertSObject>-<s - 외부 ID 필드를 기반으로 하는 최대 200개의 레코드의 생성 또는 업데이트(upsert)입니다. UpsertSObjectResult 개체 목록을 반환합니다.
  • compositeDeleteSObject>-<s - 최대 200개의 레코드를 삭제하여 SaveSObjectResult 오브젝트 목록을 반환합니다.
  • queryAll - SOQL 쿼리를 실행합니다. 병합으로 인해 삭제된 결과를 반환하고(최대 3개의 레코드를 레코드 중 하나에 병합, 다른 레코드를 삭제한 후 관련 레코드의 상위 순위를 지정) 또는 삭제합니다. 또한 보관된 Task 및 이벤트 레코드에 대한 정보를 반환합니다.
  • getBlobField - 개별 레코드에서 지정된 Blob 필드를 확인합니다.
  • apex>-< - 사용자 정의 APEX REST API 호출을 실행합니다.
  • Raw - Salesforce에 요청을 전송하고 끝점, 매개변수, 본문 등에 대한 완전한 원시 제어 권한을 갖습니다.

예를 들어 다음 생산자 끝점에서는 upsertSObject API를 사용하며 sObjectIdName 매개변수는 'Name'을 외부 id 필드로 지정합니다. 요청 메시지 본문은 maven 플러그인을 사용하여 생성된 SObject DTO여야 합니다. 응답 메시지는 기존 레코드가 업데이트된 경우 null 이거나 새 레코드의 ID가 있는 CreateSObjectResult 또는 새 오브젝트를 생성하는 동안 오류 목록이 됩니다.

...to("salesforce:upsertSObject?sObjectIdName=Name")...
Copy to Clipboard Toggle word wrap

54.7.2. 대규모 2.0 API

Bulk 2.0 API는 원래 Bulk API를 통해 단순화된 모델을 제공합니다. 이를 사용하여 대량의 데이터를 salesforce에 빠르게 로드하거나 많은 양의 Salesforce 데이터를 쿼리할 수 있습니다. 데이터는 CSV 형식으로 제공해야 합니다. Bulk 2.0의 최소 API 버전은 v41.0입니다. Bulk Queries의 최소 API 버전은 v47.0입니다. 아래에 언급된 DTO 클래스는 org.apache.camel.component.salesforce.api.dto.bulkv2 패키지에서 가져온 것입니다. 지원되는 작업은 다음과 같습니다.

  • bulk2CreateJob - 대규모 작업 생성. 메시지 본문에 Job 인스턴스를 제공합니다.
  • bulk2GetJob - 기존 작업을 가져옵니다. jobId 매개변수가 필요합니다.
  • bulk2CreateBatch - 작업에 CSV 레코드 배치를 추가합니다. 메시지 본문에 CSV 데이터를 제공합니다. 첫 번째 행에는 헤더가 포함되어야 합니다. jobId 매개변수가 필요합니다.
  • bulk2ECDHEJob - 작업을 종료합니다. 작업을 처리하거나 중단/삭제하려면 작업을 종료해야 합니다. jobId 매개변수가 필요합니다.
  • bulk2AbortJob - 작업을 제거합니다. jobId 매개변수가 필요합니다.
  • bulk2DeleteJob - 작업 삭제. jobId 매개변수가 필요합니다.
  • bulk2GetSuccessfulResults - 작업에 대한 성공 결과를 가져옵니다. 반환된 메시지 본문에는 CSV 데이터의 InputStream이 포함됩니다. jobId 매개변수가 필요합니다.
  • bulk2GetFailedResults - 작업에 실패한 결과를 가져옵니다. 반환된 메시지 본문에는 CSV 데이터의 InputStream이 포함됩니다. jobId 매개변수가 필요합니다.
  • bulk2GetUnprocessedRecords - 작업에 대해 처리되지 않은 레코드를 가져옵니다. 반환된 메시지 본문에는 CSV 데이터의 InputStream이 포함됩니다. jobId 매개변수가 필요합니다.
  • bulk2GetAllJobs - 모든 작업을 가져옵니다. 응답 본문은 작업 인스턴스입니다. done 속성이 false인 경우 가져올 추가 페이지가 있고 nextRecordsUrl 속성에는 후속 호출에 대한 queryLocator 매개변수에 설정할 값이 포함되어 있습니다.
  • bulk2CreateQueryJob - 대규모 쿼리 작업을 생성합니다. 메시지 본문에 QueryJob 인스턴스를 제공합니다.
  • bulk2GetQueryJob - 대규모 쿼리 작업 가져오기. jobId 매개변수가 필요합니다.
  • bulk2GetQueryJobResults - 대규모 쿼리 작업 결과 가져오기. jobId 매개변수가 필요합니다. maxRecordslocator 매개변수를 허용합니다. 응답 메시지 헤더에는 Sforce-NumberOfRecordsSforce-Locator 헤더가 포함됩니다. Sforce-Locator 의 값은 locator 매개변수를 통해 후속 호출로 전달될 수 있습니다.
  • bulk2AbortQueryJob - 대규모 쿼리 작업 중단 jobId 매개변수가 필요합니다.
  • bulk2DeleteQueryJob - 대규모 쿼리 작업 삭제. jobId 매개변수가 필요합니다.
  • bulk2GetAllQueryJobs - 모든 작업을 가져옵니다. 응답 본문은 QueryJobs 의 인스턴스입니다. done 속성이 false인 경우 가져올 추가 페이지가 있고 nextRecordsUrl 속성에는 후속 호출에 대한 queryLocator 매개변수에 설정할 값이 포함되어 있습니다.

54.7.3. rest Bulk(original) API

생산자 엔드포인트는 다음 API를 사용할 수 있습니다. 모든 작업 데이터 형식, 즉 xml, csv, zip/xml 및 zip/csv가 지원됩니다.
요청과 응답은 경로에 의해 마샬링/해결되어야 합니다. 일반적으로 요청은 CSV 파일과 같은 일부 스트림 소스이며
응답이 요청과 관련이 있을 수 있도록 파일에 저장할 수도 있습니다.

다음과 같이 operationName 을 사용할 수 있습니다.

  • createJob - CloudEvent Bulk 작업을 생성합니다. 본문에 JobInfo 인스턴스를 제공해야 합니다. PK Chunking은 pkChunking* 옵션을 통해 지원됩니다. 여기에 대한 설명을 참조하십시오.
  • getJob - gRPC Id를 사용하여 작업을 가져옵니다.
  • Close Job - 작업을 종료합니다.
  • abortJob - 작업 중단
  • createBatch - Bulk 작업 내에서 배치 제출
  • getBatch - Id를 사용하여 Batch를 가져옵니다.
  • getAllBatches - Bulk Job Id에 대한 모든 배치를 가져옵니다.
  • getRequest - 배치에 대한 요청 데이터(XML/CSV)를 가져옵니다.
  • getResults - 완료될 때 배치의 결과를 가져옵니다.
  • createBatchQuery - SOQL 쿼리에서 배치를 생성
  • getQueryResultIds - 배치 쿼리에 대한 Result Ids 목록을 가져옵니다.
  • getQueryResult - Result Id의 결과를 가져옵니다.
  • getRecentReports - 보고서 목록 리소스로 GET 요청을 보내 가장 최근에 본 보고서의 최대 200을 가져옵니다.
  • getReportDescription - 테이블 형식 또는 요약 또는 매트릭스 형식으로 보고서의 보고서, 보고서 유형 및 관련 메타데이터를 확인합니다.
  • executeSyncReport - 필터를 변경하거나 변경하지 않고 보고서를 동기식으로 실행하고 최신 요약 데이터를 반환합니다.
  • executeAsyncReport - 필터를 사용하거나 사용하지 않고 보고서의 인스턴스를 비동기식으로 실행하고 세부 정보를 사용하거나 사용하지 않고 요약 데이터를 반환합니다.
  • getReportInstances - 비동기적으로 실행되도록 요청한 보고서에 대한 인스턴스 목록을 반환합니다. 목록의 각 항목은 보고서의 개별 인스턴스로 처리됩니다.
  • getReportResults: 보고서 실행 결과가 포함되어 있습니다.

예를 들어 다음 생산자 엔드포인트는 createBatch API를 사용하여 작업 배치를 생성합니다. 메시지에는 입력Stream(일반적으로 파일에서 UTF-8 CSV 또는 XML 콘텐츠 등)으로 변환할 수 있는 본문과 XML, CSV, ZIP_XML 또는 ZIP_CSV일 수 있는 Job 콘텐츠 유형의 경우 'contentType' 헤더 필드 'jobId'가 포함되어야 합니다. 배치 메시지 본문에는 BatchInfo 가 성공적으로 포함되거나 오류 발생 시 ScanSettingException 이 발생합니다.

...to("salesforce:createBatch")..
Copy to Clipboard Toggle word wrap

54.7.4. rest Streaming API

소비자 끝점은 스트리밍 엔드 포인트에서 다음 구문을 사용하여 생성/업데이트에서 10.0.0.1 알림을 수신할 수 있습니다.

주제를 만들고 구독하려면 다음을 수행합니다.

from("salesforce:CamelTestTopic?notifyForFields=ALL&notifyForOperations=ALL&sObjectName=Merchandise__c&updateTopic=true&sObjectQuery=SELECT Id, Name FROM Merchandise__c")...
Copy to Clipboard Toggle word wrap

기존 주제를 구독하려면 다음을 수행합니다.

from("salesforce:CamelTestTopic&sObjectName=Merchandise__c")...
Copy to Clipboard Toggle word wrap

54.7.5. 플랫폼 이벤트

플랫폼 이벤트를 보내려면 createSObject 작업을 사용합니다. 그리고 메시지 본문을 JSON 문자열 또는 키-값 data가 있는 InputStream으로 설정할 수 있습니다. 이 경우 sObjectName 은 이벤트의 API 이름 또는 이벤트에 대한 적절한 클래스 이름을 사용하여 AbstractDTOBase에서 확장되는 클래스로 설정해야 합니다.

예를 들어 DTO 사용:

class Order_Event__e extends AbstractDTOBase {
  @JsonProperty("OrderNumber")
  private String orderNumber;
  // ... other properties and getters/setters
}

from("timer:tick")
    .process(exchange -> {
        final Message in = exchange.getIn();
        String orderNumber = "ORD" + exchange.getProperty(Exchange.TIMER_COUNTER);
        Order_Event__e event = new Order_Event__e();
        event.setOrderNumber(orderNumber);
        in.setBody(event);
    })
    .to("salesforce:createSObject");
Copy to Clipboard Toggle word wrap

또는 JSON 이벤트 데이터 사용:

from("timer:tick")
    .process(exchange -> {
        final Message in = exchange.getIn();
        String orderNumber = "ORD" + exchange.getProperty(Exchange.TIMER_COUNTER);
        in.setBody("{\"OrderNumber\":\"" + orderNumber + "\"}");
    })
    .to("salesforce:createSObject?sObjectName=Order_Event__e");
Copy to Clipboard Toggle word wrap

플랫폼 이벤트를 수신하려면 이벤트/(또는 / event/ ) 접두사가 붙은 플랫폼 이벤트의 API 이름이 있는 소비자 끝점을 사용합니다(예: salesforce:events/Order_Event__e ). 해당 끝점에서 사용하는 프로세서는 각각 org.apache.camel.component.salesforce.api.dto.PlatformEvent 오브젝트 또는 org.cometd.bayeux.Message 를 수신합니다.

예를 들어 가장 간단한 양식에서는 하나의 이벤트를 사용합니다.

PlatformEvent event = consumer.receiveBody("salesforce:event/Order_Event__e", PlatformEvent.class);
Copy to Clipboard Toggle word wrap

54.7.6. 변경 데이터 캡처 이벤트

한 쪽에서 select 오브젝트의 레코드 변경 사항에 대한 알림을 발송하도록 CloudEvent를 구성할 수 있습니다. 반면 Camel 10.0.0.1 구성 요소는 이러한 알림에 반응하여 이러한 변경 사항을 외부 시스템에 동기화 할 수 있습니다.

관심 알림은 서브스크립션 채널을 통해 Camel 경로의 from("salesforce:XXX") 절에 지정할 수 있습니다. 예를 들면 다음과 같습니다.

from("salesforce:data/ChangeEvents?replayId=-1").log("being notified of all change events")
from("salesforce:data/AccountChangeEvent?replayId=-1").log("being notified of change events for Account records")
from("salesforce:data/Employee__ChangeEvent?replayId=-1").log("being notified of change events for Employee__c custom object")
Copy to Clipboard Toggle word wrap

수신된 메시지에는 각각 false 또는 truerawPayload 에 따라 본문에 java.util.Map<String,Object > 또는 org.cometd.bayeux.Message 가 포함되어 있습니다. CamelSalesforceChangeType 헤더는 CREATE,UPDATE,DELETE 또는 UNDELETE 중 하나로 평가할 수 있었습니다.

Camel 10.0.0.1 구성 요소 변경 데이터 캡처 기능을 사용하는 방법에 대한 자세한 내용은 ChangeEventsConsumer dotnetTest 에서 확인할 수 있습니다.

CloudEvent 개발자 안내서 는 변경 데이터 캡처 통합 애플리케이션을 구현하는 데 있어 미묘한 내용을 더 잘 알기에 적합합니다. 변경 이벤트 본문 필드의 동적 특성, 높은 수준의 복제 단계 및 보안 고려 사항은 관심을 가질 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat