Datastream API 사용

개요

Datastream은 비공개 연결 구성, 연결 프로필, 스트림을 프로그래매틱 방식으로 관리하기 위한 REST API를 제공합니다. REST API는 비공개 연결 구성, 연결 프로필, 스트림을 만들고 관리하는 작업과 관련된 리소스로 정의됩니다. 모든 리소스와 해당 메서드에 대한 자세한 내용은 Datastream API 참조를 확인하세요.

Datastream REST API로 직접 요청을 보낼 때는 올바른 요청 양식을 만들고, 인증된 사용자로 요청을 승인하고, 반환된 응답을 처리해야 합니다. 이 문서의 여러 태스크는 cURL을 사용하는 API 예시를 제공합니다.

API 사용 예시를 더 보려면 Datastream API 참조에서 요청 페이지를 참조하세요. 각 페이지에는 여러 프로그래밍 언어로 API를 호출하는 예시와 올바른 형식의 요청에 포함되는 요소 및 예상 응답을 파악하는 데 도움이 되는 요청별 탐색기가 있습니다.

또한 다음과 같은 방법으로 인스턴스를 관리할 때 Datastream API를 간접적으로 사용하게 됩니다.

이러한 방법, 특히 Google Cloud 콘솔을 사용할 때의 이점은 사용 사례에 따라 비공개 연결 구성, 연결 프로필, 스트림의 관리를 크게 간소화할 수 있다는 것입니다. Datastream을 처음 시작하는 경우 REST API로 직접 작업하기 전에 먼저 이러한 도구 중 하나로 시작하는 것이 좋습니다.

API 사용 설정

Datastream API를 사용하려면 다음을 사용 설정해야 합니다.

콘솔

  1. Datastream API를 사용 설정합니다.
  2. 프로젝트를 선택합니다.
  3. 계속을 선택합니다.

gcloud

  1. 다음을 입력하여 Google Cloud 프로젝트의 프로젝트 ID를 표시합니다.
    gcloud projects list
  2. 기본 프로젝트를 설정합니다.
    gcloud config set project YOUR_PROJECT_ID
  3. Datastream API를 사용 설정합니다.
    gcloud services enable datastream.googleapis.com

권한

Datastream API를 사용하려면 필요한 권한이 있어야 합니다. 이러한 권한은 다음과 같습니다.

  • Datastream 관리자: 이 권한이 있으면 사용자가 비공개 연결 구성, 연결 프로필, 스트림을 관리하는 데 사용되는 Datastream의 모든 리소스에 액세스할 수 있습니다.
  • Datastream 뷰어: 이 권한이 있는 사용자는 Datastream의 비공개 연결 구성, 연결 프로필, 스트림에 대한 읽기 전용 액세스 권한을 가집니다.

Google Cloud에서는 Identity and Access Management(IAM)를 제공하므로 특정 Google Cloud 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. Google Cloud 콘솔, API의 IAM 메서드, Google Cloud SDK를 사용하여 Datastream에 대한 권한을 가져오고 설정할 수 있습니다. 자세한 내용은 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.

API 예시

Datastream 문서의 다음 페이지에서 cURL로 Datastream API를 사용하는 예시를 확인할 수 있습니다.

파일의 JSON 데이터 제공

cURL로 API를 사용하는 경우 명령줄을 사용하여 속성 값을 제공합니다. 비밀번호나 보안 키 같은 민감한 값으로 작업하는 경우 명령줄에 입력하면 보안 위험이 발생합니다. 보안을 강화하기 위해 API 호출을 위해 JSON 데이터가 포함된 파일을 만들고 명령줄에서 파일 경로를 제공할 수 있습니다.

cURL API 호출에 대하여 파일에서 JSON 데이터를 제공하려면 다음 안내를 따르세요.

  1. 모든 항목이 작은 따옴표로 묶인 파일을 --data 필드용으로 만듭니다.

    중괄호를 포함하지만, 작은따옴표는 포함하지 않습니다.

  2. 명령줄에서 @ 문자 앞에 --data 매개 변수로서 파일 경로 제공합니다.

    --data @<path-to-file>/<filename>
    

    예를 들어 MySQL 소스의 연결 프로필을 만들려면 다음 콘텐츠로 request.json이라는 파일을 만들 수 있습니다.

    {
      "displayName": "my MySQL connection profile",
      "mysql": {
        "host": "10.11.12.13",
        "port": 3306,
        "username": "myusername",
        "password": "mypassword"
      }
    }
    

    그런 다음 명령줄에서 다음 cURL 명령어를 사용합니다.

    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data @./request.json \
         -X POST \
         https://datastream.googleapis.com/v1/projects/myProject/locations/myLocation/connectionProfiles?connectionProfileId=myMySQLconnectionprofile
    

장기 실행 API 호출 작업

객체 생성과 같은 일부 API 호출은 완료되는 데 다소 시간이 걸릴 수 있습니다. API는 비동기적이므로 작업이 아직 진행 중이더라도 호출이 즉시 반환됩니다. 이후 API 호출에서 새로 생성된 객체를 사용하는 경우 첫 번째 작업이 완료될 때까지 기다린 후에 계속 진행합니다.

Datastream API를 사용하여 작업을 관리할 수 있습니다. 여기에는 다음과 같은 정보가 포함됩니다.

Datastream 및 Google API 탐색 서비스

Google API 디스커버리 서비스는 Google API를 검색하는 데 사용할 수 있는 서비스입니다. 예를 들어 Google API 탐색기 도구를 사용하면 디스커버리 서비스를 사용하는 것입니다.

탐색 서비스에서 Datastream은 'datastream'으로 표시됩니다(예: https://datastream.googleapis.com/$discovery/rest?version=v1).