데이터 소스에 대한 접속을 생성, 업데이트, 제거 및 공유할 수 있습니다. DV 콘텐츠 작성자 액세스 권한이 있는 Oracle Analytics 사용자는 다음 작업을 수행할 수 있습니다.
항목:
데이터 소스의 접속 세부정보를 업데이트할 수 있습니다.
Oracle Database에 대한 SSL 접속을 편집 중인 상태에서 새 cwallet.sso
파일을 사용해야 할 경우 클라이언트 전자 지갑 필드에서 선택을 눌러 cwallet.sso
파일을 찾아보십시오. cwallet.sso
파일의 위치는 관리자에게 문의하십시오.
Oracle Analytics Cloud에서 데이터 소스 접속을 제거할 수 있습니다. 예를 들어, 데이터베이스 비밀번호가 변경된 경우 데이터베이스 접속을 삭제하고 새 접속을 생성해야 합니다.
접속에 데이터 집합이 포함된 경우 먼저 데이터 집합을 삭제해야 접속을 삭제할 수 있습니다.
생성 또는 관리하는 데이터 소스 접속에 액세스 권한을 지정할 수 있습니다.
접속 생성 대화상자 또는 검사 대화상자를 사용하여 접속 세부정보를 지정할 때 일부 데이터베이스 유형에는 추가 구성 옵션이 있습니다.
일반 옵션
sales.example.com =(DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=on)(FAILOVER=ON) (ADDRESS=(PROTOCOL=tcp)(HOST=123.45.67.111)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=123.45.67.222)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=123.45.67.333)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME= salesservice.example.com)))
대량 복제 사용 - 워크북에 대한 데이터 집합을 로드하는 경우 이 옵션을 해제해야 하며 무시할 수 있습니다. 이 옵션은 한 데이터베이스에서 다른 데이터베이스로 데이터를 복제하기 위해 데이터 분석가와 고급 사용자를 위해 예약되어 있습니다.
인증 옵션
시스템 접속
복사를 눌러 접속의 객체 ID를 복사합니다. 비즈니스 모델러는 객체 ID를 붙여넣어 모델 관리 툴(접속 풀 대화상자)에서 데이터 접속을 식별하고 사용할 수 있습니다.
주: 처음에 접속을 생성할 때 시스템 접속을 누르지 않은 경우, 나중에 데이터 모델러가 접속 세부정보를 사용하도록 하려면 새 접속을 생성하고 시스템 접속을 선택해야 합니다. 다시 말해서, 나중에 접속을 편집하고 이 옵션을 선택할 수 없습니다.
데이터베이스 접속을 생성하기 전 데이터베이스 접속 요구사항을 확인합니다.
Oracle Analytics에 표시되는 데이터베이스 테이블의 최대 개수는 10,000개입니다. 테이블을 추가해야 할 경우 분석할 특정 객체에 액세스할 수 있는 데이터베이스 사용자를 생성하고 데이터베이스 접속을 생성할 때 해당 사용자의 인증서를 지정하도록 데이터베이스 관리자에게 요청하는 것이 좋습니다.
Oracle Database, Oracle Autonomous Data Warehouse, Oracle Transaction Processing, Snowflake, SQL Server 또는 My SQL에 접속하는 경우 테이블 또는 열 이름에 대문자, 소문자 또는 대소문자 혼합 문자가 있는 데이터를 읽을 수 있도록 기본 인용 식별자를 변경할 수 있습니다.
select EfG_Field from AbCd;
(실패함)를 실행하는 대신, 기본 SQL 문에 큰 따옴표를 추가합니다(select "EfG_Field" from "AbCd";
).Oracle Analytics Cloud REST API를 사용하여 프로그래밍 방식으로 다양한 데이터 소스에 대한 접속을 관리할 수 있습니다. 예를 들어, 테스트 및 운용 Oracle Analytics Cloud 환경에서 동일한 접속 집합을 생성(또는 수정)하는 스크립트를 생성할 수 있습니다.
REST API를 사용하여 다양한 데이터 소스에 대한 접속을 생성, 업데이트 및 삭제할 수 있습니다. 이 항목에서는 REST API로 관리할 수 있는 데이터 소스 접속 유형을 나열합니다.
지원되는 데이터 소스
접속 매개변수
각 데이터 소스에 필요한 접속 매개변수는 서로 다릅니다. REST API를 사용하여 접속을 생성하거나 업데이트하려면 데이터 소스에 필요한 JSON 페이로드 형식을 알아야 합니다. 데이터 소스에 대한 샘플 JSON 페이로드을(를) 참조하십시오.
Oracle Analytics Cloud REST API를 사용하여 프로그래밍 방식으로 접속을 관리하기 위한 일반적인 작업은 다음과 같습니다. REST API를 처음 사용하는 경우 다음 작업을 지침으로 따르십시오.
작업 | 설명 | REST API 설명서 |
---|---|---|
필요 조건 이해 |
여러 필요 조건 작업을 이해하고 완료합니다. REST API를 사용하여 데이터 접속을 관리하려면 Oracle Analytics Cloud에서 워크북을 생성하고 데이터에 접속할 수 있는 권한이 있어야 합니다(DV 콘텐츠 작성자). |
필요 조건 |
OAuth 2.0 토큰 인증 이해 | Oracle Analytics Cloud의 인증 및 권한 부여는 Oracle Identity Cloud Service에서 관리됩니다. Oracle Analytics Cloud REST API에 액세스하려면 권한 부여에 사용할 OAuth 2.0 액세스 토큰이 필요합니다. | OAuth 2.0 토큰 인증 |
지원되는 데이터 소스 이해 | REST API로 관리할 수 있는 데이터 접속 유형을 설명하는 항목을 읽으십시오. | 지원되는 데이터 소스 |
JSON 페이로드 형식 결정 | 데이터 소스에 대한 JSON 페이로드 형식을 설명하는 항목을 읽어보고 필요한 접속 매개변수를 얻습니다. | 데이터 소스에 대한 샘플 JSON 페이로드 |
접속 생성 | 워크북, 보고서 및 대시보드에서 사용할 데이터 접속을 생성합니다. | 접속 생성(미리보기) |
접속 업데이트 | 기존 데이터 접속의 속성을 하나 이상 업데이트합니다. | 접속 업데이트(미리보기) |
접속 삭제 | 데이터 접속을 삭제합니다. | 접속 삭제(미리보기) |
cURL을 사용하여 REST API 요청으로 데이터 소스 접속을 관리하는 데 도움이 되는 샘플과 예제를 사용하십시오.
샘플 cURL 형식
curl --header "Authorization: Bearer <token>" --header "Content-Type: application/json" --request POST|PUT https://<hostname>/api/20210901/catalog/connections --data "<data source connection payload>"
curl --header "Authorization: Bearer <token>" --request POST|PUT https://<hostname>/api/20210901/catalog/connections --form "cert=<security wallet file>" --form "connectionParams=<data source connection payload>"
<token> - Oracle Analytics Cloud REST API 호출을 인증하는 데 필요한 OAuth 2.0 bearer 토큰입니다. OAuth 2.0 토큰 인증을(를) 참조하십시오.
<hostname> - Oracle Analytics Cloud가 실행 중인 호스트입니다.
<data source connection payload> - 데이터 소스별 접속 유형입니다. 데이터 소스에 대한 샘플 JSON 페이로드을(를) 참조하십시오.
<security wallet file> - 인증 및 서명 인증서, 프라이빗 키, 인증서, 보안 인증서와 같은 SSL 관련 정보를 저장합니다. Oracle Database(SSL 사용) 및 Oracle Autonomous Data Warehouse(상호 TLS)와 같은 일부 접속 유형에 필요합니다.
예
다음 예제는 Oracle ADW(Autonomous Data Warehouse)에 대한 접속을 생성하는 방법을 보여줍니다.
cwallet.sso
를 사용하는(상호 TLS) Oracle ADW 접속 생성추가 예제는 Oracle Analytics Cloud용 REST API에서 확인할 수 있습니다. 접속 생성(미리보기), 접속 업데이트(미리보기) 및 접속 삭제(미리보기)을(를) 참조하십시오.
주:
이 예제의 JSON 페이로드는 Oracle ADW에 특정한 것입니다. JSON 페이로드 형식은 다양한 데이터 소스마다 다릅니다. 지원되는 데이터 소스에 대한 샘플 JSON 페이로드을(를) 참조하십시오.
예제 1 전자 지갑 없는(TLS) Oracle ADW 접속 생성
oracle_adw_walletless
라는 접속을 생성합니다. 요청 본문에는 단순 JSON application/json
이 포함됩니다.
curl --header "Authorization: Bearer <token>" --header "Content-Type: application/json" --request POST https://example.com/api/20210901/catalog/connections --data "{ "version": "2.0.0", "type": "connection", "name": "oracle_adw_walletless", "description": "Sample Oracle ADW connection without a wallet created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-autonomous-data-warehouse", "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=abcdefg1hijkl2m_adwwalletless_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))", "username": "ADMIN", "password": "<<password>>", "systemConnection": false, "remoteData": false, "sslType": "ServerSideSSL" } } }"
응답 본문
{"connectionID":"J0FkbWluJy4nb3JhY2xlX2Fkd193YWxsZXRsZXNzJw=="}
응답 본문의 Base64 인코딩 connectionId
를 기록해 둡니다. 나중에 이 값을 사용하여 접속을 업데이트하거나 삭제할 수 있습니다.
예제 2 전자 지갑 파일을 사용하는(상호 TLS) Oracle ADW 접속 생성
oracle_adw_with_wallet
라는 접속을 생성합니다. 요청 분문에는 multipart/form-data
가 포함됩니다. 즉, Oracle ADW의 전자 지갑 파일(cwallet.sso
)과 Oracle ADW 접속 매개변수가 모두 필요합니다.
curl --header "Authorization: Bearer <token>" -–request POST https://<hostname>/api/20210901/catalog/connections --form "cert=@"/Users/scott/Downloads/Wallet_adw/cwallet.sso"" --form "connectionParams= "{ "version": "2.0.0", "type": "connection", "name": "oracle_adw_with_wallet", "description": "Sample Oracle ADW connection with a wallet created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-autonomous-data-warehouse", "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps) (port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=abcdefg1hijkl2m_walletadw_high.adwc.oraclecloud.com/))(security=(ssl_server_dn_match=yes)))", "username": "ADMIN", "password": "<<password>>", "remoteData": "false", "systemConnection": false, "sslType": "ClientSideSSL" } } }"
응답 본문
{"connectionID":"J2FkbWluJy4nb3JhY2xlX2Fkd193aXRoX3dhbGxldCc="}
응답 본문의 Base64 인코딩 connectionId
를 기록해 둡니다. 나중에 이 값을 사용하여 접속을 업데이트하거나 삭제할 수 있습니다.
데이터 소스에 접속하려면 접속 매개변수를 제공합니다. 접속 REST API를 사용하는 경우 JSON 페이로드 형식으로 접속 매개변수를 지정합니다. 이 표를 사용하여 접속할 데이터 소스에 대한 JSON 페이로드를 확인합니다.
데이터 소스 | 요청 유형 | 입력 페이로드 |
---|---|---|
Oracle Database (비SSL) |
application/json |
기본 접속 유형 { "version": "2.0.0", "type": "connection", "name": "oracle_db_non_ssl_basic", "description": "Sample non-SSL Oracle Database connection created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-database", "host": "example.com", "port": "1521", "serviceName": "orcl", "username": "admin", "password": "<password>", "remoteData": false, "systemConnection": false } } } 고급 접속 유형 { "version": "2.0.0", "type": "connection", "name": "oracle_db_non_ssl_advanced ", "description": " Sample non-SSL Oracle Database connection created with the advanced connection string format using Connections API", "content": { "connectionParams": { "connectionString": "(DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=on)(FAILOVER=ON) (ADDRESS=(PROTOCOL=tcp)(HOST=example.com)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=ORCLPDB1)))", "username": "admin", "password": "<password>", "connectionType": "oracle-database", "remoteData": false, "systemConnection": false } } } |
Oracle Database (SSL 사용) |
multi-part/form-data |
cwallet.sso (client credentials file) 기본 접속 유형 cert: <cwallet.sso file location> connectionParams: { "version": "2.0.0", "type": "connection", "name": "oracle_db_ssl", "description": "Sample Oracle Database connection with SSL created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-database", "host": "example.com", "port": "2484", "serviceName": "ORCLPDB1", "username": "admin", "password": "<password>", "systemConnection": false, "remoteData": false } } } |
Oracle Autonomous Data Warehouse - 전자 지갑 없음(TLS) |
application/json |
기본 접속 유형 { "version": "2.0.0", "type": "connection", "name": "oracle_adw_walletless_basic", "description": "Sample Oracle ADW connection without a wallet created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-autonomous-data-warehouse", "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521) (host=example.com)) (connect_data=(service_name=example.com)) (security=(ssl_server_dn_match=yes)))", "username": "admin", "password": "<password>", "systemConnection": false, "remoteData": false, "sslType": "ServerSideSSL" } } } |
Oracle Autonomous Data Warehouse - 전자 지갑(상호 TLS) |
multipart/form-data |
cwallet.sso (client credentials file) 기본 접속 유형 cert: <cwallet.sso file location> connectionParams: { "version": "2.0.0", "type": "connection", "name": "oracle_adw_with_wallet", "description": "Sample Oracle ADW connection with wallet created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-autonomous-data-warehouse", "connectionString": "(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps) (port=1522)(host=example.com)) (connect_data=(service_name=example.com)) (security=(ssl_server_dn_match=yes)))", "username": "admin", "password": "<password>", "remoteData": "false", "systemConnection": false, "sslType": "ClientSideSSL" } } } |
PostgreSQL (비SSL) |
application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "postgres_non_SSL", "description": "Sample PostgreSQL connection created using Connections API", "content": { "connectionParams": { "connectionType": "postgresql-database", "host": "example.com", "port": "5432", "serviceName": "postgres", "username": "admin", "password": "<password>", "remoteData": false, "systemConnection": false } } } |
PostgreSQL (SSL 사용) |
application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "postgres_SSL_Conn", "description": "Sample PostgreSQL connection with SSL created using Connections API", "content": { "connectionParams": { "connectionType": "postgresql-database", "host": "example.com", "port": "5432", "serviceName": "postgres", "username": "admin", "password": "<password>", "sslType":"ServerSideSSL", "remoteData": false, "systemConnection": false } } } |
SQL Server (비SSL) |
application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "SqlServer_non_ssl", "description": "Sample non-SSL SQL Server connection created using Connections API", "content": { "connectionParams": { "connectionType": "sqlserver-database", "host": "example.com", "port": "1400", "serviceName": "sqlserver1", "username": "admin", "password": "<password>", "remoteData": false, "systemConnection": false } } } |
SQL Server (SSL 사용) | application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "SqlServer_ssl", "description": "Sample SQL Server connection with SSL created using the Connections API", "content": { "connectionParams": { "connectionType": "sqlserver-database", "host": "example.com", "port": "60190", "serviceName": "sqlserver1", "username": "admin", "password": "<password>", "sslType":"ServerSideSSL", "remoteData": false, "systemConnection": false } } } |
MySQL (비SSL) |
application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "MySql_no_SSL", "description": "Sample MySQL connection created using the Connections API", "content": { "connectionParams": { "connectionType": "mysql-database", "host": "example.com", "port": "3307", "serviceName": "mysql1", "username": "admin", "password": "<password>", "remoteData": false, "systemConnection": false } } } |
MySQL (SSL 사용) | application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "MySql_ssl", "description": "Sample MySQL connection with SSL created using Connections API", "content": { "connectionParams": { "connectionType": "mysql-database", "host": "example.com", "port": "3306", "serviceName": "mysql1", "username": "admin", "password": "<password>", "sslType":"ServerSideSSL", "remoteData": false, "systemConnection": false } } } |
Oracle Essbase |
application/json |
기본 접속 유형 { "version":"2.0.0", "type": "connection", "name": "Oracle_Essbase", "description": "Sample Oracle Essbase connection created using Connections API", "content": { "connectionParams": { "connectionType": "oracle-essbase", "dsn":"example.com", "username":"admin", "password":"<password>", "remoteData": false, "systemConnection": false, "authentication":"current"/"private"/"sso" } } } |