Einführung in die API
Erste Schritte mit der „ watsonx Orchestrate “-API.
Authentifizierung bei der API
Um die „ watsonx Orchestrate “-API nutzen zu können, müssen Sie sich zunächst beim Server authentifizieren. Jedes Angebot von „ watsonx Orchestrate “ nutzt eine andere Methode zur Authentifizierung gegenüber dem Server.
1. Einen API-Schlüssel generieren
Für alle Angebote muss zunächst ein API-Schlüssel generiert werden:
2. Erstellen des Authentifizierungstokens
Nachdem Sie Ihren API-Schlüssel erhalten haben, verwenden Sie ihn, um ein Authentifizierungs-Token zu erzeugen.
IBM Cloud nutzt das IAM-Zugriffstoken zur Authentifizierung bei watsonx Orchestrate. Sie müssen ihn mit dem API-Schlüssel generieren.
Der Dienst „ AWS “ verwendet ein JSON Web Token (JWT), um Sie in der „ watsonx Orchestrate “-API zu authentifizieren. Sie müssen ihn mit dem API-Schlüssel generieren.
lokal
Das On-Premises-Angebot verwendet den Zen-API-Schlüssel, den Sie im vorherigen Schritt erhalten haben. Sie brauchen keine weitere Wertmarke zu erwerben.
Aufrufen der Endpunkte des Servers
Nachdem Sie die Authentifizierungstoken erhalten haben, können Sie damit die API-Endpunkte aufrufen.
Informationen zu den API-Endpunkten finden Sie unter „API-Endpunkte abrufen “.
Dies sind einige Beispiele dafür, wie man die API-Endpunkte mit den richtigen Autorisierungs-Tokens aufruft:
IBM Cloud
Unebenheit
curl -X GET "https://api.REGION_CODE.watson.cloud.ibm.com/instances/MY_INSTANCE_ID/v1/orchestrate/digital-employees/allskills" \
-H "Authorization: Bearer MY_IAM_TOKEN" \
-H "Accept: application/json"
Python
import http.client
region_code = "REGION_CODE"
iam_token = "MY_IAM_TOKEN"
instance_id = "MY_INSTANCE_ID"
conn = http.client.HTTPSConnection(f"api.{region_code}.watson-orchestrate.ibm.com")
headers = {
'Authorization': f"Bearer {iam_token}",\
'accept': "application/json"
}
conn.request("GET", f"/instances/{instance_id}/v1/orchestrate/digital-employees/allskills", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
AWS
Unebenheit
curl -X GET "https://api.REGION_CODE.watson-orchestrate.ibm.com/instances/MY_INSTANCE_ID/v1/orchestrate/digital-employees/allskills" \
-H "Authorization: Bearer MY_JWT_TOKEN" \
-H "Accept: application/json"
Python
import http.client
region_code = "REGION_CODE"
jwt_token = "MY_JWT_TOKEN"
instance_id = "MY_INSTANCE_ID"
conn = http.client.HTTPSConnection(f"{region_code}.dl.watson-orchestrate.ibm.com")
headers = {
'Authorization': f"Bearer {jwt_token}",\
'accept': "application/json"
}
conn.request("GET", f"/instances/{instance_id}/v1/orchestrate/digital-employees/allskills", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
lokal
Unebenheit
curl -X GET "https://MYHOST:PORT//orchestrate/MY_NAMESPACE/instances/MY_INSTANCE_ID/v1/orchestrate/digital-employees/allskills" \
-H "Authorization: ZenApiKey MY_ZEN_API_KEY" \
-H "Accept: application/json"
Python
import http.client
import base64
region_code = f"https://MYHOST:PORT/"
api_key = "MY_API_KEY"
username = "MY_USER_NAME"
api_key_bytes = f"{username}:{api_key}".encode(encoding="utf-8")
zen_api_key = base64.encodebytes(api_key_bytes).decode(encoding="utf-8")
namespace = "MY_NAMESPACE"
instance_id = "MY_INSTANCE_ID"
endpoint = "/orchestrate/{namespace}/instances/{instanceid}/v1/orchestrate/digital-employees/allskills/"
conn = http.client.HTTPSConnection(f"{myhost}")
headers = {
'Authorization': f"ZenApiKey {zen_api_key}",\
'accept': "application/json"
}
conn.request("GET", endpoint, headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))