API 사용
IBM® Hybrid Cloud Mesh (Mesh) API를 사용하기 위한 전제 조건에 대해 알아보고, API 사양을 검토하고, curl 및 Python 에서 사용 방법의 예시를 확인하세요.
전제조건
- API 키를 생성합니다: 메시 콘솔을 사용하여 API 키 생성하기
- 후속 단계를 위해 변수에서 API키를 설정하십시오.
MESH_API_KEY=<your-api-key> - 다음 단계의 변수에 Mesh API 기반 URL 을 설정합니다(
<console-url>를 https://app.hybridcloudmesh.ibm.com ):MESH_API_URL=<console-url>/api/v1
Mesh API 사양
IBM API 허브에서 IBM Hybrid Cloud Mesh API 사양을 검토하세요.
curl 에서 API 사용
API 출력은 JSON 형식입니다. Jq JSON 프로세서를 설치하면 더 쉽게 볼 수 있습니다.
클라우드 리소스를 가져오십시오.
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" $MESH_API_URL/nets/cloud | jq
이름이 IBM-Cloud인 클라우드에서 클러스터 리소스를 가져오십시오.
cloud_id="$(curl -sSLf -H "Authorization: $MESH_API_KEY" $MESH_API_URL/nets/cloud | jq -r '.clouds[] | select(.name == "IBM-Cloud") | .resource_id')"
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" $MESH_API_URL/nets/cloud/$cloud_id/cluster | jq
curl의 stdin 에 클라우드 필드를 전송하여 클라우드 자원을 등록하십시오.
cat << EOM | curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" -X POST -H Content-Type:application/json -d @- $MESH_API_URL/nets/cloud | jq
{
"name": "mycloud",
"type": "other",
"is_private": true
}
EOM
다음과 같이 애플리케이션 자원을 가져오십시오.
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" $MESH_API_URL/apps/application | jq
애플리케이션 필드를 curl의 stdin 에 전송하여 애플리케이션 자원을 등록하십시오.
cat << EOM | curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" -X POST -H Content-Type:application/json -d @- $MESH_API_URL/apps/application | jq
{
"name": "another-app",
"app_identity": "app.my.domain.example",
"labels": [
"app:exampleWeb",
"cloud:aws"
]
}
EOM
연결 정책 리소스를 확인하세요:
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" $MESH_API_URL/apps/policy | jq
ID (사용자) 자원을 가져오십시오.
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" $MESH_API_URL/auth/identity | jq
이벤트 자원을 가져오십시오.
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" $MESH_API_URL/events/event | jq
자원 토폴로지를 가져오십시오.
curl -sSLf -w %{http_code} -H "Authorization: $MESH_API_KEY" "$MESH_API_URL/topology/topology?visibility=all" | jq
Python 에서 API 사용
Python 에서 Mesh API를 사용하려면 Python 요청 패키지를 사용합니다. pip를 사용하여 패키지를 설치하십시오.
pip install requests
요청 패키지를 사용하여 API 엔드포인트에 대한 호출을 작성하십시오. get applications 다음 예는 Python ( <console-url> 를 https://app.hybridcloudmesh.ibm.com ):
import requests
MESH_API_URL = "<console-url>/api/v1"
MESH_API_KEY = "<your-api-key>"
# get applications
r = requests.get(MESH_API_URL + "apps/application", headers={'Authorization': MESH_API_KEY})
print(r.status_code)
print(r.json())
리소스 쿼리하기
특정 리소스를 쿼리하면 다음 중 하나의 응답을 받을 수 있습니다:
- 해당 리소스의 현재 상태입니다.
- 리소스에 액세스할 수 있는 충분한 권한이 없음을 나타내는
no permission오류입니다.
리소스 목록을 쿼리할 때 다음 중 하나의 응답을 받을 수 있습니다:
- 쿼리와 일치하는 리소스가 없는 경우 빈 목록입니다.
- 쿼리와 일치하고 액세스 권한이 있는 리소스 목록입니다.
no permission오류는 일치하는 리소스에 액세스할 수 있는 충분한 권한이 없음을 나타냅니다.