API 環境のセットアップ
Direct Link API を使用する前に、環境をセットアップする必要があります。
一般的な前提条件
直接リンクにアクセスするにはアカウントを設定してください。 アカウントが有料アカウントにアップグレードされていることを確認します。
API の前提条件
API を使用して直接リンクを操作する前に、IAM トークンを取得し、エンドポイントを変数として保存する必要があります。 また、 IBMCloud Direct LinkAPI サービス。
以下の例では、directlink.cloud.ibm.com
グローバル・エンドポイントを使用します。
ステップ 1: API キーを変数として保管する
以下のコマンドを実行して、アカウントの API キーを環境変数に保管します。 API キーがない場合は、 API キーの作成を参照してください。
apikey="<YOUR_API_KEY>"
ステップ 2: IBM IAM (ID およびアクセス管理) トークンを取得する
JSON処理ユーティリティを使用してIAMトークンを取得して解析するには、次のコマンドを実行します。 jq。 別の構文解析ツールを使用するようにコマンドを変更することも、コマンドの最後の部分を削除して手動でトークンを構文解析することもできます。
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>
Authorization ヘッダーでは、トークンの先頭が Bearer
である必要があります。 結果に Bearer
が含まれていない場合は、これを含むように iam_token
変数を更新します。 これらの例では、Bearer
が IAM_TOKEN
に含まれていると想定されています。
IAM トークンは有効期限があるため、上記のステップを繰り返して、1 時間ごとにトークンを更新する必要があります。
ステップ 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リクエストには、version
フォーマット内のパラメータ YYYY-MM-DD
。 以下のコマンドを実行してバージョンの日付を変数に保管し、セッションで再利用できるようにします。 設定の詳細については、version
パラメータについては、バージョン管理の中に Direct LinkAPI。
api_version="2020-03-31"
この変数が保存されたことを確認するには、echo $api_version
を実行して、その応答が空ではないことを確認します。
ステップ 5: API アクセス権限があることを確認する
予期しない結果が生じた場合は、--verbose
(デバッグ) フラグを curl
コマンドの後ろに追加して、詳細なロギング情報を取得してください。
-
使用可能なロケーションのリスト API を呼び出して、Direct Link で使用可能なロケーションを JSON 形式で確認します。 少なくとも 1 つのオブジェクトが返されます。
この例では、 Direct Link Dedicated ゲートウェイで使用可能なロケーションをリストします。 のためにDirect Link接続、置換
connect
のためにdedicated
。curl -X GET "$directlink_api_endpoint/v1/offering_types/dedicated/locations?version=$api_version" -H "Authorization: $IAM_TOKEN"
-
電話する ゲートウェイの一覧 アカウントで既に作成した直接リンクを JSON 形式で表示する API。
curl -X GET "$directlink_api_endpoint/v1/gateways?version=$api_version" -H "Authorization: $IAM_TOKEN"