API 환경 설정
Direct Link API를 사용하려면 먼저 환경을 설정해야 합니다.
일반 전제조건
직접 링크에 접속하려면 계정을 설정하세요. 계정이 유료 계정으로 업그레이드되는지 확인하십시오.
API 전제조건
API를 사용하여 직접 링크와 상호 작용하려면 먼저 IAM 토큰을 가져와 엔드포인트를 변수로 저장해야 합니다. 또한 IBM Cloud Direct Link API 서비스에 대한 액세스 권한이 있는지 확인합니다.
다음 예에서는 directlink.cloud.ibm.com 글로벌 엔드포인트를 사용합니다.
1단계: API 키를 변수로 저장
다음 명령을 실행하여 계정에 대한 API 키를 환경 변수에 저장하십시오. API 키가 없으면 API 키 작성을 참조하십시오.
apikey="<YOUR_API_KEY>"
2단계: IBM Identity and Access Management(IAM) 토큰 가져오기
JSON 처리 유틸리티인 jq를 사용하여 IAM 토큰을 가져오고 구문 분석하려면 다음 명령을 실행하십시오. 다른 구문 분석 도구를 사용하도록 명령을 수정하거나 수동으로 토큰을 구문 분석하려는 경우 명령의 마지막 부분을 제거할 수 있습니다.
IAM_TOKEN=`curl -k -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=$apikey" \
"https://iam.cloud.ibm.com/identity/token" |jq -r '(.token_type + " " + .access_token)'`
IAM 토큰을 확인하려면 echo $IAM_TOKEN을(를) 실행하십시오. 결과는 다음과 같습니다:
Bearer <your_token>
권한 부여 헤더는 토큰이 Bearer(으)로 시작해야 합니다. 결과에 Bearer이(가) 없으면 이를 포함하도록 iam_token 변수를 업데이트하십시오. 이 문서의 예에서는 Bearer가 IAM_TOKEN에 포함되어 있다고 가정합니다.
IAM 토큰이 만료되기 때문에 이전 단계를 반복하여 매시간마다 토큰을 새로 고쳐야 합니다.
3단계: API 엔드포인트를 변수로 저장
나중에 세션에서 재사용할 수 있도록 다음 명령을 실행하여 API 엔드포인트를 변수에 저장하십시오.
공용 엔드포인트:
directlink_api_endpoint="https://directlink.cloud.ibm.com"
가상 사설 엔드포인트:
directlink_api_endpoint="https://private.directlink.cloud.ibm.com"
변수가 저장되었는지 확인하려면 echo $directlink_api_endpoint 을 실행하고, 응답 내용이 비어 있지 않은지 확인하십시오.
4단계: API 버전을 변수로 저장
모든 API 요청에는 YYYY-MM-DD 형식의 version 매개변수가 반드시 포함되어야 합니다. 다음 명령을 실행하여 세션에서 재사용할 수 있도록 버전 날짜를 변수에 저장하십시오. version 매개변수 설정에 대한 자세한 내용은 ‘ Direct Link API’의 ‘버전 관리’ 섹션을 참조하십시오.
api_version="2020-03-31"
이 변수가 저장되었는지 확인하려면 echo $api_version을(를) 실행한 후 응답이 비어 있지 않은지 확인하십시오.
5단계: API 액세스 권한이 있는지 확인
예상치 않은 결과가 발생하는 경우에는 --verbose 명령 뒤에 curl(디버그) 플래그를 추가하여 자세한 로깅 정보를 얻으십시오.
-
사용 가능한 위치 나열 API 를 호출하여 직접 링크에 사용 가능한 위치를 JSON 형식으로 확인하십시오. 하나 이상의 개체가 반환됩니다.
이 예는 Direct Link 전용 게이트웨이에 사용할 수 있는 위치를 나열합니다. Direct Link Connect의 경우
connect을dedicated으로 대체합니다.curl -X GET "$directlink_api_endpoint/v1/offering_types/dedicated/locations?version=$api_version" -H "Authorization: $IAM_TOKEN" -
List 게이트웨이 API를 호출하면, 해당 계정에서 이미 생성한 모든 직접 링크를 JSON 형식으로 확인할 수 있습니다.
curl -X GET "$directlink_api_endpoint/v1/gateways?version=$api_version" -H "Authorization: $IAM_TOKEN"