개요
이 튜토리얼에서는 고객 정보 검색을 위한 API 요청을 수신하는 API 트리거와의 통합을 만듭니다. API 요청 위치에 따라 통합은 MySQL 데이터베이스 또는 Oracle 데이터베이스에서 고객 세부정보를 검색합니다.
목표
이 튜토리얼에서는 통합에서 다음 태스크를 완료하는 방법을 보여줍니다.
- API 트리거 추가
- MySQL 및 Oracle 연결을 위한 커넥터 태스크를 추가 및 구성
- API 페이로드 추출 및 매핑을 위한 데이터 매핑 태스크 추가 및 구성
비용
이 튜토리얼에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.
이 튜토리얼의 안내는 리소스 사용량을 Google Cloud의 항상 무료 등급 한도 내에서 유지하도록 작성되었습니다.
이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer
), Secret Manager Secret Accessor (roles/secretmanager
).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer
), Secret Manager Secret Accessor (roles/secretmanager
).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
개발 환경 준비
MySQL 데이터베이스 설정
MySQL 서버에 연결하고 이 튜토리얼에서 사용할 데이터베이스와 테이블을 만듭니다. 이 튜토리얼에서는 다음 행과 함께 Customers
라는 테이블이 포함된 데이터베이스를 사용합니다.
+-------------+---------------+--------------------+------------------+ | customer_id | customer_name | customer_emailID | customer_city | +-------------+---------------+--------------------+------------------+ | 1 | Alex | test-01@test.com | New York | | 2 | Dana | test-02@test.com | Seattle | +-------------+---------------+--------------------+------------------+
MySQL 데이터베이스 만들기 및 사용에 관한 자세한 내용은 MySQL 문서를 참조하세요.
Oracle 데이터베이스 설정
Oracle 데이터베이스에 연결하고 이 튜토리얼에서 사용할 테이블을 만듭니다. 이 튜토리얼에서는 다음 행과 함께 Customers
라는 SQL 테이블이 포함된 데이터베이스를 사용합니다.
+-------------+---------------+--------------------+------------------+ | customer_id | customer_name | customer_emailID | customer_city | +-------------+---------------+--------------------+------------------+ | 1 | Amal | test-01@test.com | Delhi | | 2 | Hao | test-02@test.com | Beijing | +-------------+---------------+--------------------+------------------+
Oracle 데이터베이스 만들기 및 사용에 대한 자세한 내용은 Oracle 문서를 참조하세요.
연결 구성
이 튜토리얼에서는 Integration Connectors에서 다음 연결을 구성해야 합니다.
- MySQL 연결
- Integration Connectors에서 MySQL 연결을 구성하여
Customer
테이블 항목을 가져옵니다. MySQL 커넥터 구성에 대한 자세한 내용은 MySQL 커넥터를 참조하세요. - Oracle DB 연결
- Integration Connectors에서 Oracle DB 연결을 구성하여
Customer
테이블 항목을 가져옵니다. MySQL 커넥터 구성에 대한 자세한 내용은 Oracle DB 커넥터를 참조하세요.
통합 만들기
새 통합을 만들려면 다음 단계를 수행합니다.
- Google Cloud 콘솔에서 Application Integration 페이지로 이동합니다.
- 탐색 메뉴에서 통합을 클릭합니다. 통합 페이지가 표시됩니다.
- 통합 이름:
api_fulfilment
을 입력합니다. - 설명:
Demo integration created for tutorial
을 입력합니다. - 리전: 지원되는 리전 목록에서
us-central1
을 선택합니다. - 만들기를 클릭하여 통합 편집기를 엽니다.
통합 만들기를 클릭하고 통합 만들기 페이지에서 다음 세부정보를 제공합니다.
- 통합 이름:
통합 트리거 설정
통합을 성공적으로 만들면 식별된 이벤트의 통합을 호출하는 통합 트리거를 추가하고 구성할 수 있습니다.
이 튜토리얼에서는 모든 새 API 요청에 대해 통합을 호출하는 데 API 트리거를 사용합니다. api_fulfilment
통합에서 API 트리거를 추가하고 구성하려면 다음 단계를 따르세요.
- 통합 편집기에서 트리거를 클릭하여 사용 가능한 트리거 목록을 표시합니다.
- 통합 편집기에서 API 트리거 요소를 클릭하여 배치합니다.
Application Integration은 트리거 라벨, 트리거 이름, 트리거 ID를 자동으로 채웁니다. 트리거 ID는
api_trigger/TRIGGER_NAME
형식의 머신 생성 ID이며 API 요청에 사용됩니다.
이 트리거에는 추가 구성이 필요하지 않습니다.
통합 변수 만들기
통합 변수는 프로그래밍 언어에 사용되는 변수와 유사합니다. 변수의 데이터는 통합이 실행되는 동안 읽고 쓸 수 있습니다. 이 튜토리얼에 필요한 변수를 만들려면 다음을 수행합니다.
- 디자이너 탐색 메뉴에서 (전환 패널)을 클릭하여 변수 창을 표시합니다.
- + 만들기를 클릭하고 다음 통합 변수를 만듭니다.
변수 이름 데이터 유형 변수 유형 location
STRING
통합 입력 customer_id
STRING
통합 입력 customer_record
JSON
통합 출력
MySQL 데이터베이스에서 고객 데이터 검색
인그레스 API 요청이 US
위치에서 온 경우 다음을 수행하여 MySQL 데이터베이스에서 고객 데이터를 검색합니다.
MySQL 데이터베이스에 연결
MySQL 고객 테이블에서 고객 세부정보를 검색하려면 다음 단계를 수행하여 커넥터 태스크를 추가하고 구성합니다.
- 통합 편집기에서 태스크를 클릭하여 사용 가능한 태스크 목록을 표시합니다.
- 커넥터 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 커넥터 태스크 요소를 선택하여 커넥터 태스크 구성 창을 확인합니다.
Fetch MySQL Data
로 바꿉니다.
을 클릭하고 커넥터 라벨의 이름을 - 커넥터 구성을 클릭합니다.
- 커넥터 태스크 편집기 페이지에서 다음을 수행합니다
- 연결 선택에서
us-central1
리전을 선택합니다. - 사용 가능한 연결 목록에서 Salesforce 연결을 선택합니다.
- 다음을 클릭합니다.
- 유형에서 항목을 선택합니다.
- 항목/작업 설정에서 사용 가능한 항목 목록에서 고객을 선택한 다음 작업으로 가져오기를 선택합니다.
- 완료를 클릭하여 연결 구성을 완료하고 창을 닫습니다.
- 연결 선택에서
MySQL 커넥터에 고객 ID 매핑
데이터 매핑 태스크는 고객 ID를 MySQL 커넥터에 매핑하는 데 사용됩니다. 통합에서 데이터 매핑을 추가하고 구성하려면 다음을 수행합니다.
- 통합 편집기에서 태스크를 클릭하여 사용 가능한 태스크 목록을 표시합니다.
- 데이터 매핑 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 데이터 매핑 요소를 선택하여 태스크 구성 창을 확인합니다.
Map to MySQL
로 바꿉니다.
를 클릭하고 데이터 매핑 태스크의 이름을 - 데이터 매핑 편집기 열기를 클릭합니다.
데이터 매핑 편집기를 사용하면 사용 가능한 변환 함수를 사용하여 원하는 출력 변수에 입력 변수를 매핑할 수 있습니다. 그러면 출력을 다른 통합 태스크 또는 트리거에 변수로 사용할 수 있습니다. 변수 매핑에 대한 자세한 내용은 매핑 추가를 참조하세요.
- 트리거
customer_id
통합 변수를 자동 생성된 커넥터entityId(Fetch MySQL Data)
입력 변수에 매핑합니다.매핑이 완료되면 창을 닫습니다. 모든 변경사항이 자동 저장됩니다.
- MySQL에 매핑 태스크에서 MySQL 데이터 가져오기 커넥터에 에지 연결을 추가합니다.
MySQL 고객 세부정보 검색
MySQL 커넥터에서 고객 세부정보를 검색하려면 다음을 수행합니다.
- 통합 편집기에서 태스크를 클릭하여 사용 가능한 태스크 목록을 표시합니다.
- 데이터 매핑 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 데이터 매핑 요소를 클릭하여 태스크 구성 창을 확인합니다.
Get MySQL data
로 바꿉니다.
를 클릭하고 데이터 매핑 태스크의 이름을 - 데이터 매핑 편집기 열기를 클릭합니다.
- MySQL
connectorOutputPayload (Fetch MySQL Data)
출력 변수를customer_record
통합 변수에 매핑합니다.매핑이 완료되면 창을 닫습니다. 모든 변경사항이 자동 저장됩니다.
- MySQL 데이터 가져오기 커넥터에서 MySQL 데이터 가져오기 태스크에 에지 연결을 추가합니다.
Oracle 데이터베이스에서 고객 데이터 검색
인그레스 API 요청이 APAC
위치에서 온 경우 다음을 수행하여 Oracle 데이터베이스에서 고객 데이터를 검색합니다.
Oracle 데이터베이스에 연결
Oracle 고객 테이블에서 고객 세부정보를 검색하려면 다음 단계를 수행하여 커넥터 태스크를 추가하고 구성합니다.
- 통합 편집기에서 태스크를 클릭하여 사용 가능한 태스크 목록을 표시합니다.
- 커넥터 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 커넥터 태스크 요소를 선택하여 커넥터 태스크 구성 창을 확인합니다.
Fetch Oracle Data
로 바꿉니다.
을 클릭하고 커넥터 라벨의 이름을 - 커넥터 구성을 클릭합니다.
- 커넥터 태스크 편집기 페이지에서 다음을 수행합니다
- 연결 선택에서
us-central1
리전을 선택합니다. - 사용 가능한 연결 목록에서 Salesforce 연결을 선택합니다.
- 다음을 클릭합니다.
- 유형에서 항목을 선택합니다.
- 항목/작업 설정에서 사용 가능한 항목 목록에서 고객을 선택한 다음 작업으로 가져오기를 선택합니다.
- 완료를 클릭하여 연결 구성을 완료하고 창을 닫습니다.
- 연결 선택에서
Oracle 커넥터에 고객 ID 매핑
통합에서 데이터 매핑을 추가하고 구성하려면 다음을 수행합니다.
- 통합 편집기에서 태스크를 클릭하여 사용 가능한 태스크 목록을 표시합니다.
- 데이터 매핑 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 데이터 매핑 요소를 선택하여 태스크 구성 창을 확인합니다.
Map to Oracle
로 바꿉니다.
를 클릭하고 데이터 매핑 태스크의 이름을 - 데이터 매핑 편집기 열기를 클릭합니다.
- 트리거
customer_id
통합 변수를 자동 생성된 커넥터entityId(Fetch Oracle Data)
입력 변수에 매핑합니다.매핑이 완료되면 창을 닫습니다. 모든 변경사항이 자동 저장됩니다.
- Oracle에 매핑 태스크에서 Oracle 데이터 가져오기 커넥터에 에지 연결을 추가합니다.
Oracle 고객 세부정보 검색
Oracle 커넥터에서 고객 세부정보를 검색하려면 다음을 수행합니다.
- 통합 편집기에서 태스크를 클릭하여 사용 가능한 태스크 목록을 표시합니다.
- 데이터 매핑 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 데이터 매핑 요소를 클릭하여 태스크 구성 창을 확인합니다.
Get Oracle data
로 바꿉니다.
를 클릭하고 데이터 매핑 태스크의 이름을 - 데이터 매핑 편집기 열기를 클릭합니다.
- Oracle
connectorOutputPayload (Fetch Oracle Data)
출력 변수를customer_record
통합 변수에 매핑합니다.매핑이 완료되면 창을 닫습니다. 모든 변경사항이 자동 저장됩니다.
- Oracle 데이터 가져오기 커넥터에서 Oracle 데이터 가져오기 태스크에 에지 연결을 추가합니다.
에지 조건 추가
에지 조건을 사용하면 에지에 연결된 태스크에 전달할 통합 제어에 필요한 조건을 지정할 수 있습니다. 필수 태스크를 추가하고 구성했으므로 이제 에지 조건을 추가하여 통합의 흐름을 정의할 수 있습니다.
다음 에지 조건은 location
통합 변수를 기반으로 통합 흐름을 제어합니다.
- 다음 에지 조건을 사용하여 API 트리거의 에지 연결을 MySQL에 매핑 태스크에 추가합니다.
$location$ = "US"
- 다음 에지 조건을 사용하여 API 트리거의 에지 연결을 Oracle에 매핑 태스크에 추가합니다.
$location$ = "APAC"
샘플 통합 흐름
다음 그림에서는 이 튜토리얼을 사용하여 만든 통합의 샘플 레이아웃을 보여줍니다.
통합 게시
통합을 게시하려면 통합 편집기 툴바에서 게시를 클릭합니다.
통합이 성공적으로 게시되면 게시된 통합의 실행 로그를 보고 검사할 수 있습니다. 로그를 보려면 이 통합의 실행 로그 보기를 클릭합니다. 실행 로그 페이지가 나타납니다.
통합 테스트
통합 편집기에서 통합 테스트
통합 편집기에서 통합을 테스트하려면 다음 단계를 따르세요.
- 통합 편집기 툴바에서
통합 테스트 창이 나타납니다.
테스트를 클릭합니다. - 통합 입력 변수의 테스트 값을 입력하라는 메시지가 표시됩니다. 이 테스트를 위해 다음을 수행합니다.
- customer_id:
1
을 입력합니다. - location:
APAC
를 입력합니다.
- customer_id:
- 통합 테스트를 클릭합니다.
통합이 성공적으로 실행되고 다음과 같은 고객 값이 표시됩니다.
{ "CUSTOMER_ID": 1, "CUSTOMER_NAME": "Amal" "CUSTOMER_EMAILID": "test-01@test.com " "CUSTOMER_CITY": "Delhi" }
테스트에 대한 자세한 내용은 통합 테스트 및 게시를 참조하세요.
REST API 호출을 사용하여 테스트
이제 통합이 게시되고 실행 중이므로 다음 POST REST 호출을 사용하여 통합을 호출할 수 있습니다.
URL:https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute
{"trigger_id":"api_trigger/api_fulfilment_API_1"}
예시: 맞춤 입력으로 API 요청
curl -v -X POST -H "Content-Type: application/json" 'https://integrations.googleapis.com/v1/projects/connectors-ip-test/locations/us-central1/integrations/api-fulfillment-integration:execute' -H "Authorization: Bearer $(gcloud auth AUTH_PROFILE)" -d '{ "triggerId": "api_trigger/api-fulfillment-integration_API_1", "inputParameters": { "customer_id": {"string_value": 1}, "location" : {"string_value" : "US"}} }'
API는 다음 JSON을 모두 포함하는 통합 실행 응답을 반환합니다.
{ "CUSTOMER_ID": 2, "CUSTOMER_NAME": "Dana" "CUSTOMER_EMAILID": "test-02@test.com " "CUSTOMER_CITY": "Seattle" }
삭제
이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 통합을 게시 취소하고 Integration Connectors에서 생성된 연결을 삭제합니다.