BlueXP 복제 및 동기화 API
웹 UI를 통해 사용할 수 있는 BlueXP 복사 및 동기화 기능은 RESTful API를 통해서도 사용할 수 있습니다.
시작하십시오
BlueXP 복사 및 동기화 API를 시작하려면 사용자 토큰과 BlueXP 계정 ID를 얻어야 합니다. API 호출을 할 때 인증 헤더에 토큰과 계정 ID를 추가해야 합니다.
-
BlueXP 에서 사용자 토큰을 가져옵니다.
POST https://netapp-cloud-account.auth0.com/oauth/token Header: Content-Type: application/json Body: { "username": "<user_email>", "scope": "profile", "audience": "https://api.cloud.netapp.com", "client_id": "UaVhOIXMWQs5i1WdDxauXe5Mqkb34NJQ", "grant_type": "password", "password": "<user_password>" }
클라이언트 ID가 없는 개인 전자 메일 계정을 사용하는 경우 기본 클라이언트 ID "QC3AgHk6qdbmC7Yyr82ApBwaraJLwrNO"를 사용할 수 있습니다. -
BlueXP 계정 ID를 얻습니다.
GET https://api.cloudsync.netapp.com/api/accounts Headers: Authorization: Bearer <user_token> Content-Type: application/json
이 API는 다음과 같은 응답을 반환합니다.
[ { "accountId": "account-JeL97Ry3", "name": "Test" } ]
-
각 API 호출의 Authorization 헤더에 사용자 토큰 및 계정 ID를 추가합니다.
-
예 *
다음 예제는 Microsoft Azure에서 데이터 브로커를 생성하기 위한 API 호출을 보여줍니다. user_token> 및 <accountId>를 이전 단계에서 얻은 토큰 및 ID 로 바꾸기만 하면 됩니다.
POST https://api.cloudsync.netapp.com/api/data-brokers Headers: Authorization: Bearer <user_token> Content-Type: application/json x-account-id: <accountId> Body: { "name": "databroker1", "type": "AZURE" }
-
BlueXP 의 사용자 토큰에 만료 날짜가 있습니다. 토큰을 새로 고치려면 1단계에서 API를 다시 호출해야 합니다.
API 응답에는 토큰이 만료되는 시점을 나타내는 "expires_in" 필드가 포함됩니다.
목록 API를 사용합니다
목록 API는 비동기 API로, 결과가 즉시 반환되지 않습니다(예: ``get/data-브로커/{id}/list-nfs-export-folders' 및 ' get/data-d브로커/{id}/list-s3-vket'). 서버의 유일한 응답은 HTTP 상태 202입니다. 실제 결과를 얻으려면 Get/Messages/client API를 사용해야 한다.
-
사용할 목록 API를 호출합니다.
-
Get/Messages/client API를 이용하여 작업 결과를 조회한다.
-
방금 받은 ID에 동일한 API를 추가하여 'get\http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>` 사용합니다
ID는 'get/messages/client' API를 호출할 때마다 변경됩니다.
-
예 *
-
list-s3-Bucket API를 호출하면 결과가 즉시 반환되지 않습니다.
GET http://api.cloudsync.netapp.com/api/data-brokers/<data-broker-id>/list-s3-buckets
Headers: Authorization: Bearer <user_token>
Content-Type: application/json
x-account-id: <accountId>
결과는 HTTP 상태 코드 202입니다. 이는 메시지가 수락되었지만 아직 처리되지 않았음을 의미합니다.
작업 결과를 얻으려면 다음 API를 사용해야 합니다.
GET http://api.cloudsync.netapp.com/api/messages/client
Headers: Authorization: Bearer <user_token>
Content-Type: application/json
x-account-id: <accountId>
결과는 ID 필드가 포함된 객체 하나가 포함된 배열입니다. ID 필드는 서버가 보낸 마지막 메시지를 나타냅니다. 예를 들면 다음과 같습니다.
[
{
"header": {
"requestId": "init",
"clientId": "init",
"agentId": "init"
},
"payload": {
"init": {}
},
"id": "5801"
}
]
이제 방금 수신한 ID를 사용하여 다음 API 호출을 수행합니다.
GET http://api.cloudsync.netapp.com/api/messages/client?last=<id_from_step_2>
Headers: Authorization: Bearer <user_token>
Content-Type: application/json
x-account-id: <accountId>
그 결과 일련의 메시지가 나타납니다. 각 메시지 안에는 작업 이름(키)과 그 결과(값)로 구성된 페이로드 객체가 있습니다. 예를 들면 다음과 같습니다.
[
{
"payload": {
"list-s3-buckets": [
{
"tags": [
{
"Value": "100$",
"Key": "price"
}
],
"region": {
"displayName": "US West (Oregon)",
"name": "us-west-2"
},
"name": "small"
}
]
},
"header": {
"requestId": "f687ac55-2f0c-40e3-9fa6-57fb8c4094a3",
"clientId": "5beb032f548e6e35f4ed1ba9",
"agentId": "5bed61f4489fb04e34a9aac6"
},
"id": "5802"
}
]
API 참조입니다
각 BlueXP 사본 및 동기화 API에 대한 설명서는 에서 구할 수 있습니다 https://api.cloudsync.netapp.com/docs.