IBM Cloud Docs
设置 API 环境

设置 API 环境

您需要先设置环境,然后才能使用 Transit Gateway API。

常规先决条件

设置帐户以访问 Transit Gateway。 确保您的帐户 已升级到付费帐户

API 先决条件

必须先获取 IAM 令牌,将端点存储为变量,并验证您是否有权访问 IBM Cloud Transit Gateway API 服务,然后才能使用 API 与 Transit Gateway 进行交互。

以下示例使用 transit.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>

Authorization 头期望令牌以 Bearer 开头。 如果结果不包含 Bearer,请更新 IAM_TOKEN 变量以包含该变量。 这些示例假定 Bearer 中包含 IAM_TOKEN

由于 IAM 令牌到期,因此必须重复上述步骤以每小时刷新一次令牌。

步骤 3:将 API 端点存储为变量

运行以下命令以将 API 端点存储在变量中,以便稍后可以在会话中复用该端点。

公共端点:

transit_api_endpoint="https://transit.cloud.ibm.com"

虚拟专用端点:

transit_api_endpoint="https://private.transit.cloud.ibm.com"

要验证变量是否已保存,请运行 echo $transit_api_endpoint 并确保响应不为空。

步骤 4:将 API 版本存储为变量

每个 API 请求都必须包含格式为 YYYY-MM-DDversion 参数。 运行以下命令以将版本日期存储在变量中,以便可以在会话中复用该版本日期。 有关设置 version 参数的更多信息,请参阅 Transit Gateway API 中的 版本控制

api_version="2020-03-31"

要验证此变量是否已保存,请运行 echo $api_version 并确保响应不为空。

步骤 5:验证您是否具有 API 访问权

如果遇到意外结果,请在 --verbose 命令后面添加 curl(调试)标志,以获取详细的日志记录信息。

  • 调用 列表可用位置 API 以查看可用于 JSON 格式的 Transit Gateway 的位置。 至少返回一个对象。

    curl -X GET "$transit_api_endpoint/v1/offering_types/dedicated/locations?version=$api_version"   -H "Authorization: $IAM_TOKEN"
    
  • 调用 List gateways API 以查看您已在帐户下创建的 JSON 格式的任何网关。

    curl -X GET "$transit_api_endpoint/v1/transit_gateways?version=$api_version"   -H "Authorization: $IAM_TOKEN"