Datastream API 사용

개요

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

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

API 사용에 대한 더 많은 예시는 Datastream API 참조의 요청 페이지를 참조하세요. 각 페이지에는 여러 프로그래밍 언어로 API를 호출하는 예시뿐만 아니라 올바른 형식의 요청에 포함되는 내용과 응답에서 예상되는 결과를 확인하는 데 도움이 되는 요청별 탐색기가 있습니다.

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

  • Cloud SDK: 인스턴스 작업에 사용할 수 있는 명령줄 인터페이스(CLI)입니다.

  • Google Cloud Console: 그래픽 웹 인터페이스입니다.

이러한 방법, 특히 Google Cloud Console을 사용하면 사용 사례에 따라 비공개 연결 구성, 연결 프로필, 스트림 관리를 크게 단순화할 수 있다는 장점이 있습니다. 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에서는 ID 및 액세스 관리(IAM)를 제공하므로 구체적인 Google Cloud 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. Google Cloud Console, 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).