API-Umgebung einrichten
Bevor Sie die Direct Link API verwenden können, müssen Sie Ihre Umgebung einrichten.
Allgemeine Voraussetzungen
Richten Sie Ihr Konto ein, um auf den direkten Link zugreifen zu können. Stellen Sie sicher, dass Ihr Konto auf ein gebührenpflichtiges Konto hochgestuft ist.
API-Voraussetzungen
Bevor Sie die API zur Interaktion mit einem direkten Link verwenden können, müssen Sie ein IAM-Token erhalten und den Endpunkt als Variable speichern. Vergewissern Sie sich auch, dass Sie Zugriff auf den API-Dienst IBM Cloud Direct Link haben.
In den folgenden Beispielen wird der globale Endpunkt directlink.cloud.ibm.com verwendet.
Schritt 1: API-Schlüssel als Variable speichern
Führen Sie den folgenden Befehl aus, um den API-Schlüssel Ihres Kontos in einer Umgebungsvariablen zu speichern. Wenn Sie über keinen API-Schlüssel verfügen, lesen Sie den Abschnitt API-Schlüssel erstellen.
apikey="<YOUR_API_KEY>"
Schritt 2: IBM IAM-Token (IAM - Identity and Access Management) abrufen
Führen Sie den folgenden Befehl aus, um mithilfe des JSON-Verarbeitungsprogramms jq ein IAM-Token abzurufen und zu analysieren. Sie können den Befehl so ändern, dass ein anderes Parsing-Tool verwendet wird. Alternativ können Sie den letzten Teil des Befehls entfernen, wenn Sie das Token manuell parsen möchten.
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)'`
Führen Sie echo $IAM_TOKEN aus, um das IAM-Token anzuzeigen. Das Ergebnis sieht wie folgt aus:
Bearer <your_token>
Der Berechtigungsheader erwartet, dass das Token mit Bearer beginnt. Wenn das Ergebnis Bearer nicht enthält, aktualisieren Sie die Variable iam_token, um sie einzuschließen. Diese Beispiele setzen voraus,
dass Bearer in IAM_TOKEN enthalten ist.
Da das IAM-Token abläuft, müssen Sie den vorherigen Schritt wiederholen, um das Token stündlich zu aktualisieren.
Schritt 3: API-Endpunkt als Variable speichern
Führen Sie den folgenden Befehl aus, um den API-Endpunkt in einer Variablen zu speichern, damit er später in Ihrer Sitzung wiederverwendet wird.
Öffentlicher Endpunkt:
directlink_api_endpoint="https://directlink.cloud.ibm.com"
Virtueller privater Endpunkt:
directlink_api_endpoint="https://private.directlink.cloud.ibm.com"
Um zu überprüfen, ob die Variable gespeichert wurde, führen Sie aus und echo $directlink_api_endpoint vergewissern Sie sich, dass die Antwort nicht leer ist.
Schritt 4: API-Version als Variable speichern
Jede API-Anfrage muss den Parameter version im Format enthalten YYYY-MM-DD. Führen Sie den folgenden Befehl aus, um das Versionsdatum in einer Variablen zu speichern, damit es in Ihrer Sitzung wiederverwendet werden
kann. Weitere Informationen zum Festlegen des Parameters version finden Sie unter Versionierung in der Direct Link-API.
api_version="2020-03-31"
Um sicherzustellen, dass diese Variable gespeichert wurde, führen Sie echo $api_version aus und stellen Sie sicher, dass die Antwort nicht leer ist.
Schritt 5: API-Zugriff überprüfen
Wenn unerwartete Ergebnisse auftreten, fügen Sie nach dem Befehl --verbose das Flag curl (Debug) hinzu, um detaillierte Protokollierungsinformationen zu erhalten.
-
Rufen Sie die API List Available Locations auf, um die für Ihren Direct Link verfügbaren Positionen im JSON-Format anzuzeigen. Mindestens ein Objekt wird zurückgegeben.
In diesem Beispiel werden die verfügbaren Standorte für ein Direct Link Dedicated Gateway aufgeführt. Für Direct Link Connect ersetzen Sie
connectdurchdedicated.curl -X GET "$directlink_api_endpoint/v1/offering_types/dedicated/locations?version=$api_version" -H "Authorization: $IAM_TOKEN" -
Rufen Sie die List-Gateways- API auf, um alle direkten Links, die Sie bereits unter Ihrem Konto erstellt haben, im JSON-Format anzuzeigen.
curl -X GET "$directlink_api_endpoint/v1/gateways?version=$api_version" -H "Authorization: $IAM_TOKEN"