Datastream은 비공개 연결 구성, 연결 프로필, 스트림을 프로그래매틱 방식으로 관리하기 위한 REST API를 제공합니다. REST API는 비공개 연결 구성, 연결 프로필, 스트림을 만들고 관리하는 작업과 관련된 리소스로 정의됩니다. 모든 리소스와 메서드에 관한 자세한 내용은 Datastream API 참고를 참조하세요.
Datastream REST API로 직접 요청을 보낼 때는 올바른 요청 양식을 만들고, 인증된 사용자로 요청을 승인하고, 반환된 응답을 처리해야 합니다. 이 문서의 여러 태스크는 cURL을 사용하는 API 예시를 제공합니다.
API 사용에 관한 자세한 예시는 Datastream API 참고의 요청 페이지를 참조하세요. 각 페이지에는 여러 프로그래밍 언어로 API를 호출하는 예시와 올바른 형식의 요청에 포함되는 요소 및 예상 응답을 파악하는 데 도움이 되는 요청별 탐색기가 있습니다.
또한 다음과 같은 방법으로 인스턴스를 관리할 때 Datastream API를 간접적으로 사용하게 됩니다.
이러한 방법, 특히 Google Cloud 콘솔을 사용할 때의 이점은 사용 사례에 따라 비공개 연결 구성, 연결 프로필, 스트림의 관리를 크게 간소화할 수 있다는 것입니다. Datastream을 처음 시작하는 경우 REST API로 직접 작업하기 전에 먼저 이러한 도구 중 하나로 시작하는 것이 좋습니다.
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 사용 예시를 확인할 수 있습니다.
cURL로 API를 사용하는 경우 명령줄을 사용하여 속성 값을 제공합니다. 비밀번호나 보안 키 같은 민감한 값으로 작업하는 경우 명령줄에 입력하면 보안 위험이 발생합니다. 보안을 강화하기 위해 API 호출을 위해 JSON 데이터가 포함된 파일을 만들고 명령줄에서 파일 경로를 제공할 수 있습니다.
cURL API 호출에 대하여 파일에서 JSON 데이터를 제공하려면 다음 안내를 따르세요.
모든 항목이 작은 따옴표로 묶인 파일을 --data 필드용으로 만듭니다.
중괄호는 포함하되 작은따옴표는 포함하지 않습니다.
명령줄에서 @ 문자 앞에 --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"
}
}
객체 만들기와 같은 일부 API 호출은 완료하는 데 다소 시간이 걸릴 수 있습니다. API는 비동기적이므로 작업이 아직 진행 중이더라도 호출이 즉시 반환됩니다. 후속 API 호출에서 새로 만든 객체를 사용하는 경우 첫 번째 작업이 완료될 때까지 기다린 후 계속 진행해야 합니다.
Datastream API를 사용하여 작업을 관리할 수 있습니다. 여기에는 다음이 포함됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eDatastream offers a REST API for programmatically managing private connectivity configurations, connection profiles, and streams, with the v1 version now generally available.\u003c/p\u003e\n"],["\u003cp\u003eThe Datastream API can be accessed directly via REST, or indirectly through the Google Cloud CLI or Google Cloud console, with the latter two offering simplified administration.\u003c/p\u003e\n"],["\u003cp\u003eEnabling the Datastream API is required, which can be done through the Google Cloud console or using gcloud commands, and proper IAM permissions are necessary for usage.\u003c/p\u003e\n"],["\u003cp\u003ecURL examples are available for managing various aspects such as private connectivity configurations, connection profiles, and streams, and JSON data can be securely provided via files.\u003c/p\u003e\n"],["\u003cp\u003eThe API supports asynchronous operations, requiring you to manage long-running calls, and integrates with Google APIs Discovery Service.\u003c/p\u003e\n"]]],[],null,["# Use the Datastream API\n\nDatastream provides a REST API for administering your private connectivity configurations, connection profiles, and streams programmatically. The REST API is defined by resources associated with creating and managing private connectivity configurations, connection profiles, and streams. For details about all resources and their methods, see the [Datastream API Reference](/datastream/docs/reference/rest).\n| The v1 version of the Datastream API is now generally available. If you're using the v1alpha1 version of this API, then we strongly recommend migrating to the v1 version. The v1alpha1 version will be deprecated by the end of 2022.\n\nWhen you send requests directly to the Datastream REST API, you must create the correct form of the request, authorize the request as an authenticated user, and process any responses returned. Many of the tasks in this documentation provide API examples using [cURL](http://curl.haxx.se).\n\nFor more examples of using the APIs, see the page for the request in the\n[Datastream API Reference](/datastream/docs/reference/rest). Each page has\nexamples calling the API in several programming languages, as well as a\nrequest-specific Explorer to help you see what goes into a well-formed request\nand what to expect in the response.\n\nYou're also using the Datastream API, indirectly, when you use any of the\nfollowing ways of administering instances:\n\n- [Google Cloud CLI](/sdk): A command-line interface (CLI) that you can use to work with your instances.\n\n- [Google Cloud console](https://console.cloud.google.com/): A graphical web interface.\n\nThe advantage of using these methods, especially the\nGoogle Cloud console, is that they can greatly simplify administering your\nprivate connectivity configurations, connection profiles, and streams (depending on your use case). If you're just starting out with\nDatastream, then we recommend that you start with one of these tools first\nbefore working with the REST API directly.\n\nEnable the API\n--------------\n\nTo use the Datastream API, you need to enable it: \n\n### Console\n\n1. [Enable the Datastream API](https://console.cloud.google.com/apis/enableflow?apiid=datastream.googleapis.com).\n2. Select your project.\n3. Select **Continue**.\n\n### gcloud\n\n1. Enter the following to display the project IDs for your Google Cloud projects: \n\n ```bash\n gcloud projects list\n ```\n2. Set your default project: \n\n ```bash\n gcloud config set project YOUR_PROJECT_ID\n ```\n3. Enable the Datastream API: \n\n ```bash\n gcloud services enable datastream.googleapis.com\n ```\n\nPermissions\n-----------\n\nYou must have the required permissions to use the Datastream API. These permissions include:\n\n- Datastream Admin: With this permission, a user gains access to all resources of Datastream used to manage private connectivity configurations, connection profiles, and streams.\n- Datastream Viewer: With this permission, a user has read-only access to private connectivity configurations, connection profiles, and streams in Datastream.\n\nGoogle Cloud offers Identity and Access Management (IAM), which lets you give more granular access to specific Google Cloud resources and prevents unwanted access to other resources. You can get and set permissions for Datastream using the Google Cloud Console, the IAM methods of the API, or the Google Cloud SDK. For more information, see [Granting, changing, and revoking access to resources](/iam/docs/granting-changing-revoking-access).\n\nAPI examples\n------------\n\nYou can see examples of using the Datastream API with cURL in the following pages of the Datastream documentation:\n\n- [Manage private connectivity configurations](/datastream/docs/manage-private-connectivity-configurations)\n- [Manage connection profiles](/datastream/docs/manage-connection-profiles)\n- [Manage streams](/datastream/docs/manage-streams)\n\nProvide JSON data from a file\n-----------------------------\n\nWhen you use the API with cURL, you provide property values using the command\nline. If you're working with sensitive values such as passwords or security\nkeys, then providing them on the command line poses a security risk. For increased\nsecurity, you can create a file containing the JSON data for the API call, and\nprovide the path to the file on the command line.\n\nTo provide JSON data to your cURL API call from a file:\n\n1. Create a file containing everything enclosed in single quotes for the\n `--data` field.\n\n Include the curly brackets, but don't include the single quotes.\n2. At the command line, provide the path to the file, preceded by the\n `@` character, as the `--data` parameter:\n\n ```bash\n --data @\u003cpath-to-file\u003e/\u003cfilename\u003e\n ```\n\n For example, to create a connection profile for a MySQL source, you could create a file named `request.json` with the following content: \n\n ```\n {\n \"displayName\": \"my MySQL connection profile\",\n \"mysql\": {\n \"host\": \"10.11.12.13\",\n \"port\": 3306,\n \"username\": \"myusername\",\n \"password\": \"mypassword\"\n }\n }\n ```\n\n Then, you would use the following cURL command at the command line: \n\n ```bash\n curl --header \"Authorization: Bearer ${ACCESS_TOKEN}\" \\\n --header 'Content-Type: application/json' \\\n --data @./request.json \\\n -X POST \\\n https://datastream.googleapis.com/v1/projects/myProject/locations/myLocation/connectionProfiles?connectionProfileId=myMySQLconnectionprofile\n ```\n\nWork with long-running API calls\n--------------------------------\n\nSome API calls, such as object creation, can take some time to complete. Because\nthe API is asynchronous, the call returns immediately, even if the operation is\nstill in progress. If a subsequent API call uses the newly created object, then you\nmust wait for the first operation to complete before proceeding.\n\nYou can use the Datastream API to [manage operations](/sdk/gcloud/reference/beta/datastream/operations). This includes:\n\n- [Showing details about an operation](/sdk/gcloud/reference/beta/datastream/operations/describe)\n- [Listing operations for a region](/sdk/gcloud/reference/beta/datastream/operations/list)\n- [Deleting an operation](/sdk/gcloud/reference/beta/datastream/operations/delete)\n\nDatastream and Google APIs Discovery Service\n--------------------------------------------\n\n[Google APIs Discovery Service](/discovery) is a service that you can use to\ndiscover Google APIs. For example, when you use the [Google APIs Explorer](/apis-explorer) tool, you're using the Discovery Service.\n\nIn the Discovery Service, Datastream is represented as \"datastream\" (for example:\nhttps://**datastream**.googleapis.com/$discovery/rest?version=v1)."]]