Bindung einer Dienstinstanz an eine Anwendung, einen Auftrag oder eine Funktionsauslastung

Sie können eine IBM Cloud Dienstinstanz mit Ressourcen in einem IBM Cloud® Code Engine Projekt integrieren, indem Sie Dienstbindungen verwenden.

Nachdem Sie die Dienstinstanz bestimmt haben, die Sie an Ihren Code Engine Workload binden möchten, und sichergestellt haben, dass Sie den Zugriff für Dienstbindungen konfiguriert haben, können Sie die Dienstinstanz an Ihren Code Engine Anwendungs-, Auftrags- oder Funktions-Workload binden.

Vorbereitende Schritte

Der Zugriff für Dienstbindungen muss konfiguriert werden, bevor Sie eine Dienstinstanz an eine Code Engine Anwendung, einen Auftrag oder einen Funktions-Workload binden können. Konfigurieren Sie den Zugriff für Dienstbindungen, je nachdem, ob Sie möchten, dass Code Engine die Dienst-ID automatisch für Sie erstellt und verwaltet, oder ob Sie eine von Ihnen verwaltete Dienst-ID verwenden möchten.

Welche Beziehung besteht bei der Arbeit mit Dienstbindungen zwischen der Dienst-ID, den Dienstzugriffsgeheimnissen und den Dienstanmeldeinformationen?

In Code Engine ist eine Dienstbindung die Beziehung zwischen einem Anwendungs-, Job- oder Funktions-Workload und einem anderen IBM Cloud Dienst. Code Engine verwendet eine Dienst-ID, um Anmeldeinformationen für eine bestimmte IBM Cloud Dienstinstanz zu erstellen. Diese Anmeldeinformationen sind Dienstanmeldeinformationen und werden von Ihrem Code Engine Projekt zur Interaktion mit der Dienstinstanz verwendet. Die Zugangsdaten für den Dienst werden in einem Dienstzugangsgeheimnis gespeichert. Auf ein Dienstzugriffsgeheimnis kann eine Anwendung, ein Job oder eine Funktion mit den Dienstanmeldeinformationen zugreifen und es wird zur Interaktion mit der Dienstinstanz verwendet.

Wenn Sie Ihre IBM Cloud Dienstinstanz erstellen, können Sie wählen, ob Sie die Dienstanmeldung für diese Dienstinstanz erstellen möchten. Wenn Sie eine Dienstbindung erstellen, können Sie auch festlegen, dass Code Engine die Anmeldeinformationen für die Dienstinstanz automatisch für Sie erstellt, wenn Sie den Zugriff für Dienstbindungen konfiguriert haben.

Unabhängig davon, ob Sie Code Engine wählen, um die Dienstberechtigung automatisch für Sie zu erstellen, oder ob Sie die Dienstberechtigung für eine bestimmte Dienstinstanz manuell erstellen, müssen Sie die Identity and Access Management (IAM) Rolle für die Dienstberechtigung angeben. Die von Ihnen angegebene Rolle definiert die Interaktion, die mit der spezifischen Dienstinstanz und der gebundenen Code Engine Anwendung, dem Auftrag oder der Funktion zulässig ist. Wenn Sie z. B. eine Dienstbindung von Code Engine zu einer IBM Cloudant-Dienstinstanz erstellen und die Anwendung, der Auftrag oder die Funktion nur aus der Datenbank IBM Cloudant lesen soll, wählen Sie die Rolle Reader.

Binden einer Dienstinstanz an eine Code Engine Anwendung oder einen Auftrag über die Konsole

Sie können über die Konsole eine Dienstbindung erstellen, die eine vorhandene Dienstinstanz an eine Code Engine Anwendung oder einen Auftrag bindet. Um eine Dienstbindung für eine Funktion zu erstellen, müssen Sie die CLI verwenden.

Binden einer Service-Instanz mit einem neuen Service-Zugangsgeheimnis (mit einem Code Engine automatisch generierten Credential)

Erstellen wir eine Dienstbindung, um eine Dienstinstanz an eine Anwendung oder einen Auftrag mit einem neuen Dienstzugriffsgeheimnis zu binden, das einen automatisch von Code Engine generierten Dienstnachweis verwendet. Für dieses Beispiel erstellen Sie in der Konsole eine Dienstbindung für die Anwendung myapp und wählen Sie Code Engine, um automatisch die Dienstanmeldeinformationen für eine Dienstinstanz IBM Cloud zu erstellen. Bevor Code Engine die Dienstanmeldung automatisch erstellen kann, stellen Sie sicher, dass Sie den Zugriff für Code Engine konfigurieren, um die Dienst-ID für Dienstbindungen automatisch zu erstellen und zu verwalten.

  1. Sobald Ihr Projekt den Status „Aktiv“ hat, klicken Sie auf der Seite „ Code Engine-Projekte“ auf den Namen Ihres Projekts.
  2. Klicken Sie auf der Seite Übersicht auf Dienstbindungen.
  3. Klicken Sie auf der Seite Dienstbindungen auf Erstellen, um die Bindung zu erstellen.
  4. Wählen Sie die Instanz des Dienstes „ IBM “ aus, die Sie an Ihre Anwendung oder Ihren Job unter Code Engine binden möchten.
  5. Wählen Sie die Code Engine Anwendung oder den Auftrag, den Sie an die Serviceinstanz binden möchten; wählen Sie beispielsweise die Anwendung myapp.
  6. Geben Sie das Dienstzugangsgeheimnis an, das mit dieser Bindung verwendet werden soll. Das Service-Zugriffsgeheimnis speichert die Anmeldedaten für die Dienstbindung. Beachten Sie, dass alle zuvor definierten Dienstanmeldeinformationen für Ihre spezifische Dienstinstanz, die nicht mit der von Ihnen ausgewählten Anwendung oder Aufgabe verknüpft sind, aufgelistet sind. Wenn derzeit kein Dienstzugangsgeheimnis existiert, erstellen Sie ein neues Geheimnis. Wenn ein Dienstzugangsgeheimnis vorhanden ist, wählen Sie Neues Geheimnis, um ein neues Dienstzugangsgeheimnis mit einer neuen Dienstberechtigung für diese Verbindung zu erstellen. Führen Sie die folgenden Schritte aus.
    1. Wählen Sie die Rolle für die Anmeldeinformation der Serviceinstanz.
    2. Erweitern Sie Erweiterte Optionen.
    3. Damit Code Engine automatisch die Dienstanmeldung für eine IBM Cloud Dienstinstanz erstellt, wählen Sie Auto-generate.
    4. (optional) Geben Sie ein benutzerdefiniertes Präfix für die Dienstbindung an. Wenn Sie kein eigenes Präfix angeben, generiert Code Engine automatisch ein Präfix. Das Präfix wird verwendet, um Umgebungsvariablen zu unterscheiden, die für diese Dienstbindung erstellt werden.
  7. Klicken Sie auf „Hinzufügen“, um die Dienstbindung zu erstellen.
  8. Nachdem die Dienstbindung zu Ihrer Anwendung oder Ihrem Auftrag von der Konsole aus erstellt wurde, können Sie auf der Seite Dienstbindungen eine Liste aller definierten Dienstbindungen zwischen Dienstinstanzen und Code Engine Anwendungen und Aufträgen anzeigen.

Alternativ können Sie Dienstbindungen für bestimmte Anwendungen und Aufträge auch über die Seite für bestimmte Anwendungen oder Aufträge Code Engine in der Konsole erstellen und verwalten. Um mit Dienstbindungen im Kontext Ihrer Anwendung oder Ihres Auftrags zu arbeiten, wechseln Sie zur Registerkarte Dienstbindungen für Ihre spezifische Anwendung oder Ihren Auftrag.

Binden einer Dienstinstanz mit einem neuen Dienstzugriffsgeheimnis (mit einem vorhandenen Berechtigungsnachweis)

Angenommen, Sie möchten eine Dienstbindung erstellen, um eine Dienstinstanz an eine Anwendung oder einen Auftrag mit einem neuen Dienstzugangsgeheimnis zu binden, das eine vorhandene Dienstberechtigung verwendet. Die vorhandene Dienstberechtigung kann automatisch von Code Engine generiert worden sein, oder die Dienstberechtigung wurde manuell erstellt. Für dieses Beispiel erstellen Sie eine Dienstbindung für den Auftrag myjob mit einem neuen Dienstzugangsgeheimnis, das eine vorhandene Dienstanmeldung verwendet.

  1. Sobald Ihr Projekt den Status „Aktiv“ hat, klicken Sie auf der Seite „ Code Engine-Projekte“ auf den Namen Ihres Projekts.
  2. Klicken Sie auf der Seite Übersicht auf Dienstbindungen.
  3. Klicken Sie auf der Seite Dienstbindungen auf Erstellen, um die Bindung zu erstellen.
  4. Wählen Sie die Instanz des Dienstes „ IBM “ aus, die Sie an Ihre Anwendung oder Ihren Job unter Code Engine binden möchten.
  5. Wählen Sie die Code Engine Anwendung oder den Auftrag, den Sie an die Serviceinstanz binden möchten; wählen Sie z. B. den Auftrag myjob.
  6. Geben Sie das Dienstzugangsgeheimnis an, das mit dieser Bindung verwendet werden soll. Das Service-Zugriffsgeheimnis speichert die Anmeldedaten für die Dienstbindung. Beachten Sie, dass alle zuvor definierten Dienstanmeldeinformationen für Ihre spezifische Dienstinstanz, die nicht mit der von Ihnen ausgewählten Anwendung oder Aufgabe verknüpft sind, aufgelistet sind. Wenn derzeit kein Dienstzugangsgeheimnis existiert, erstellen Sie ein neues Geheimnis. Wenn ein Dienstzugangsgeheimnis vorhanden ist, wählen Sie Neues Geheimnis, um ein neues Dienstzugangsgeheimnis mit einer neuen Dienstberechtigung für diese Verbindung zu erstellen. Führen Sie die folgenden Schritte aus.
    1. Wählen Sie die Rolle für die Anmeldeinformation der Serviceinstanz.
    2. Erweitern Sie Erweiterte Optionen.
    3. Wählen Sie die Dienstberechtigung aus, die mit diesem Dienstzugangsgeheimnis verwendet werden soll.
    4. (optional) Geben Sie ein benutzerdefiniertes Präfix für die Dienstbindung an. Wenn Sie kein eigenes Präfix angeben, generiert Code Engine automatisch ein Präfix. Das Präfix wird verwendet, um Umgebungsvariablen zu unterscheiden, die für diese Dienstbindung erstellt werden.
  7. Klicken Sie auf „Hinzufügen“, um die Dienstbindung zu erstellen.
  8. Nachdem die Dienstbindung zu Ihrer Anwendung oder Ihrem Auftrag von der Konsole aus erstellt wurde, können Sie auf der Seite Dienstbindungen eine Liste aller definierten Dienstbindungen zwischen Dienstinstanzen und Code Engine Anwendungen und Aufträgen anzeigen.

Alternativ können Sie Dienstbindungen für bestimmte Anwendungen und Aufträge auch über die Seite für bestimmte Anwendungen oder Aufträge Code Engine in der Konsole erstellen und verwalten. Um mit Dienstbindungen im Kontext Ihrer Anwendung oder Ihres Auftrags zu arbeiten, wechseln Sie zur Registerkarte Dienstbindungen für Ihre spezifische Anwendung oder Ihren Auftrag.

Binden einer Dienstinstanz mit einem bestehenden Dienstzugangsgeheimnis

Sie können Dienstzugangsgeheimnisse in Dienstbindungen wiederverwenden. Für eine bestimmte IBM Cloud Service-Instanz können Sie Service-Zugriffsgeheimnisse mit verschiedenen Anwendungen oder Jobs wiederverwenden. Sie können ein Dienstzugangsgeheimnis nicht für dieselbe Anwendung oder denselben Auftrag wiederverwenden, für den das Dienstzugangsgeheimnis ursprünglich erstellt wurde. Da die Dienstberechtigung im Dienstzugangsgeheimnis gespeichert wird, sind folgende Punkte zu beachten:

  • Sie können mehr als eine Anwendung oder einen Auftrag haben, der an dieselbe IBM Cloud Service-Instanz mit demselben Service-Zugangsgeheimnis gebunden ist.

  • Ein Dienstzugangsgeheimnis kann nicht in einer Dienstbindung für dieselbe Anwendung oder denselben Auftrag wiederverwendet werden. Sie können jedoch dasselbe Dienstzugangsgeheimnis in einer anderen Anwendung oder einem anderen Auftrag wiederverwenden. Da ein Dienstzugangsgeheimnis mit einer bestimmten IBM Cloud Dienstinstanz verknüpft ist, können Sie nur das Dienstzugangsgeheimnis in einer anderen Anwendung oder einem anderen Auftrag wiederverwenden, wenn Sie sich an dieselbe Dienstinstanz binden.

Erstellen wir eine Dienstbindung, um eine Dienstinstanz an einen Auftrag zu binden, der ein bestehendes Dienstzugangsgeheimnis verwendet. Erstellen Sie z. B. eine Dienstbindung für den Auftrag myjob und wählen Sie ein vorhandenes Dienstzugangsgeheimnis für eine bestimmte Dienstinstanz.

  1. Sobald Ihr Projekt den Status „Aktiv“ hat, klicken Sie auf der Seite „ Code Engine-Projekte“ auf den Namen Ihres Projekts.
  2. Klicken Sie auf der Seite Übersicht auf Dienstbindungen.
  3. Klicken Sie auf der Seite Dienstbindungen auf Erstellen, um die Bindung zu erstellen.
  4. Wählen Sie die Instanz des Dienstes „ IBM “ aus, die Sie an Ihre Anwendung oder Ihren Job unter Code Engine binden möchten.
  5. Wählen Sie die „ Code Engine “-Anwendung oder den Job aus, den Sie an die Service-Instanz binden möchten.
  6. Sie können ein vorhandenes Credential für das Dienstzugangsgeheimnis für eine Dienstbindung an eine bestimmte IBM Cloud Dienstinstanz mit einer anderen Anwendung oder einem anderen Auftrag wiederverwenden. Wählen Sie in diesem Fall Vorhandenes Geheimnis. Beachten Sie, dass alle zuvor definierten Dienstanmeldeinformationen für Ihre spezifische Dienstinstanz aufgelistet werden, die nicht mit der von Ihnen ausgewählten Anwendung oder Aufgabe verbunden sind. Führen Sie die folgenden Schritte aus.
    1. Überprüfen Sie die Liste der vorhandenen Geheimnisse und wählen Sie das Geheimnis aus, das Sie mit dieser Dienstbindung verwenden möchten.
    2. (optional) Geben Sie ein benutzerdefiniertes Präfix für die Dienstbindung an. Wenn Sie kein eigenes Präfix angeben, generiert Code Engine automatisch ein Präfix. Das Präfix wird verwendet, um Umgebungsvariablen zu unterscheiden, die für diese Dienstbindung erstellt werden.
  7. Klicken Sie auf „Hinzufügen“, um die Dienstbindung zu erstellen.
  8. Nachdem die Dienstbindung zu Ihrer Anwendung oder Ihrem Auftrag von der Konsole aus erstellt wurde, können Sie auf der Seite Dienstbindungen eine Liste aller definierten Dienstbindungen zwischen Dienstinstanzen und Code Engine Anwendungen und Aufträgen anzeigen.

Alternativ können Sie Dienstbindungen für bestimmte Anwendungen und Aufträge auch über die Seite für bestimmte Anwendungen oder Aufträge Code Engine in der Konsole erstellen und verwalten. Um mit Dienstbindungen im Kontext Ihrer Anwendung oder Ihres Auftrags zu arbeiten, wechseln Sie zur Registerkarte Dienstbindungen für Ihre spezifische Anwendung oder Ihren Auftrag.

Binden einer Serviceinstanz an eine Code Engine Anwendung, einen Job oder eine Funktion mit der CLI

Sie können eine Dienstbindung erstellen, die eine vorhandene Dienstinstanz mit einer Code Engine Anwendung, einem Auftrag oder einer Funktion über die CLI verbindet.

Vorbereitende Schritte

  • Erstellen Sie ein Projekt und arbeiten Sie damit.

  • Konfigurieren Sie die Umgebung der Code Engine-Befehlszeilenschnittstelle.

  • Erstellen Sie die Service-Instanz, die Sie an Ihre „ Code Engine “-Workload binden möchten.

    Gehen Sie zum Beispiel zum Erstellen einer IBM Cloud Object Storage-Serviceinstanz (Lite-Plan) wie Folgt vor:

    ibmcloud resource service-instance-create my-object-storage cloud-object-storage lite global -g Default
    
  • Erstellen Sie eine „ Code Engine “-Workload.

Serviceinstanz mit neuem Berechtigungsnachweis binden

  • Wenn Sie eine neue Serviceinstanz an eine Code Engine-Anwendung binden und einen neuen Serviceberechtigungsnachweis generieren möchten, verwenden Sie den Befehl ibmcloud ce application bind.
  • Verwenden Sie zum Binden einer Serviceinstanz an einen Code Engine-Job den Befehl ibmcloud ce job bind.
  • Um Ihre Dienstinstanz an eine Code Engine Funktion zu binden, verwenden Sie den ibmcloud ce function bind befehl.

Um eine Anwendung für diese Schritte zu erstellen, führen Sie den folgenden Befehl aus.

ibmcloud ce application create --name my-application --image icr.io/codeengine/hello
  1. Geben Sie den Namen der Service-Instanz an, die Sie an Ihre Anwendung, Ihren Job oder Ihre Funktion binden möchten. Sie können alle Serviceinstanzen ermitteln, die sich in Ihrem Konto für Ihre aktuelle Ressourcengruppe befinden, indem Sie den Befehl ibmcloud resource service-instances ausführen; zum Beispiel:

    ibmcloud resource service-instances
    

    Beispielausgabe

    Name                               Location   State    Type               Resource Group ID
    my-object-storage                  global     active   service_instance   325d80be5d7945608f6d121712c96ee9
    
  2. Verbinden Sie Ihre Service-Instanz mit Ihrer „ Code Engine “-Anwendung, Ihrem Job oder Ihrer Funktion und generieren Sie neue Service-Anmeldedaten mit der Standard-Service-Rolle. Die Standardservicerolle ist entweder „Manager" oder die erste Rolle, die vom Service bereitgestellt wird, wenn „Manager" nicht unterstützt wird. Im folgenden Beispiel application bind wird die Instanz des Dienstes „ my-object-storage “ mit der Anwendung „ my-application “ verknüpft. Für diese Bindungsaktion wird ein neuer Serviceberechtigungsnachweis mit der Rolle "Manager" generiert.

    ibmcloud ce application bind --name my-application --service-instance my-object-storage
    

    Die folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl application bind verwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehl ibmcloud ce application bind.

    Befehlsoptionen
    Option Beschreibung
    --name Der Name der zu bindenden Anwendung. Dieser Wert ist erforderlich.
    --service-instance Geben Sie den Namen einer vorhandenen Serviceinstanz an, die an die Anwendung gebunden werden soll. Dieser Wert ist erforderlich.

    Beispielausgabe

    Binding service instance...
    Status: Done
    Waiting for application revision to become ready...
    The Configuration is still working to reflect the latest desired specification.
    Traffic is not yet migrated to the latest revision.
    Ingress has not yet been reconciled.
    Waiting for load balancer to be ready.
    OK
    
  3. Überprüfen Sie, ob die Anmeldedaten mithilfe des application get, die job get, oder den function get Befehl generiert wurden. Stellen Sie im folgenden Beispiel sicher, dass die die im vorherigen Beispiel erstellten Berechtigungsnachweise erstellt wurden.

    ibmcloud ce application get --name my-application
    

    Beispielausgabe

    [...]
    Service Bindings:
    Name                                         ID                                    Service Instance      Service Type          Role / Credential  Environment Variable Prefix
    my-application-app-ce-service-binding-abcde  abcde5d3-dfc3-4f52-b133-b869b5eabcde  my-object-storage     cloud-object-storag   Writer             CLOUD_OBJECT_STORAGE
    [...]
    

Eine Service-Instanz einer bestimmten Rolle zuordnen

  • Wenn Sie eine neue Serviceinstanz an eine Code Engine-Anwendung binden und einen neuen Serviceberechtigungsnachweis generieren möchten, verwenden Sie den Befehl ibmcloud ce application bind.
  • Verwenden Sie zum Binden einer Serviceinstanz an einen Code Engine-Job den Befehl ibmcloud ce job bind.
  • Um Ihre Dienstinstanz an eine Code Engine Funktion zu binden, verwenden Sie den ibmcloud ce function bind befehl.

Um eine Funktion für diese Schritte zu erstellen, führen Sie den folgenden Befehl aus.

ibmcloud ce function create --name myfun --runtime nodejs --build-source https://github.com/IBM/CodeEngine --build-context-dir /helloworld-samples/function-codebundle-nodejs
  1. Geben Sie den Namen der Service-Instanz an, die Sie an Ihre Anwendung, Ihren Job oder Ihre Funktion binden möchten. Sie können alle Serviceinstanzen ermitteln, die sich in Ihrem Konto für Ihre aktuelle Ressourcengruppe befinden, indem Sie den Befehl ibmcloud resource service-instances ausführen; zum Beispiel:

    ibmcloud resource service-instances
    

    Beispielausgabe

    Name                               Location   State    Type               Resource Group ID
    my-object-storage                  global     active   service_instance   325d80be5d7945608f6d121712c96ee9
    
  2. Verbinden Sie Ihre Service-Instanz mit Ihrer „ Code Engine “-Anwendung, Ihrem Job oder Ihrer Funktion und generieren Sie neue Service-Anmeldedaten mit einer bestimmten Service-Rolle. Weitere Informationen zu IAM-Servicerollen finden Sie unter Servicezugriffsrollen. Im folgenden Beispiel bindet der function bind Befehl bindet die Instanz des Dienstes „ my-object-storage “ mithilfe der Writer-Dienstrolle an die Funktion „ my-function “. Für diese Bindungsaktion wird ein neuer Serviceberechtigungsnachweis mit Schreibberechtigung generiert. Durch die Angabe der Option --prefix wird den Umgebungsvariablen, die von den Dienstbindungen erstellt werden, ein Präfix hinzugefügt.

    ibmcloud ce function bind --name my-function --service-instance my-object-storage --role Writer --prefix MYPREFIX
    

    Die folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl function bind verwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehl ibmcloud ce function bind.

    Befehlsoptionen
    Option Beschreibung
    --name Der Name der zu bindenden Funktion. Dieser Wert ist erforderlich.
    --prefix Das Präfix für Umgebungsvariablen, die für diese Dienstbindung angelegt werden. Zum Beispiel fügt --prefix MYPREFIX das Präfix MYPREFIX zu allen Umgebungsvariablen hinzu, die für diese Dienstbindung erstellt werden. Weitere Informationen finden Sie unter Präfixmethode.
    --service-instance Geben Sie den Namen einer vorhandenen Service-Instanz an, die an die Funktion gebunden werden soll. Dieser Wert ist erforderlich.
    --role Der Name einer Servicerolle für den neuen Serviceberechtigungsnachweis, der für die Servicebindung erstellt wird. Gültige Werte sind Reader, Writer, Manager oder eine servicespezifische Rolle. Wenn die Option --role nicht angegeben ist, lautet der Standardwert Manager oder die erste Rolle, die vom Service bereitgestellt wird, wenn Manager nicht unterstützt wird. Diese Option wird ignoriert, wenn die Option --service-credential angegeben ist.

    Beispielausgabe

    Binding service instance...
    Status: Done
    OK
    
  3. Überprüfen Sie, ob die Anmeldedaten mithilfe des application get, den job get Befehl oder den function get Befehl generiert wurden. Stellen Sie im folgenden Beispiel sicher, dass die die im vorherigen Beispiel erstellten Berechtigungsnachweise erstellt wurden.

    ibmcloud ce function get --name my-function
    

    Beispielausgabe

    [...]
    Service Bindings:
    Name                                  ID                                    Service Instance      Service Type          Role / Credential  Environment Variable Prefix
    my-function-ce-service-binding-abcde  abcde5d3-dfc3-4f52-b133-b869b5eabcde  my-object-storage     cloud-object-storage  Writer             MYPREFIX                     30s
    [...]
    

Serviceinstanz mit vorhandenen Berechtigungsnachweisen binden

Wenn Sie bereits einen Berechtigungsnachweis für Ihre Serviceinstanz erstellt haben und diesen für eine Servicebindung verwenden möchten, fügen Sie die Option --service-credentials hinzu.

Um einen Auftrag für diese Schritte zu erstellen, führen Sie den folgenden Befehl aus.

ibmcloud ce job create --name my-job --image icr.io/codeengine/hello
  1. Geben Sie den Namen der Service-Instanz an, die Sie an Ihre Anwendung, Ihren Job oder Ihre Funktion binden möchten. Sie können alle Serviceinstanzen ermitteln, die sich in Ihrem Konto für Ihre aktuelle Ressourcengruppe befinden, indem Sie den Befehl ibmcloud resource service-instances ausführen; zum Beispiel:

    ibmcloud resource service-instances
    

    Beispielausgabe

    Name                               Location   State    Type               Resource Group ID
    my-object-storage                  global     active   service_instance   325d80be5d7945608f6d121712c96ee9
    
  2. Suchen Sie die Berechtigungsnachweise für die Serviceinstanz.

    ibmcloud resource service-keys --instance-name INSTANCENAME
    

    Beispielausgabe

    Name                State    Created At
    my-cos-credential   active   Tue Mar  2 01:15:33 UTC 2021
    

    Führen Sie den Befehl ibmcloud resource service-key KEYNAME aus, um die Details eines Serviceberechtigungsnachweises anzuzeigen. Sie können alle Serviceschlüssel in Ihrer Ressourcengruppe finden, indem Sie ibmcloud resource service-keys ausführen.

  3. Binden Sie die Service-Instanz mit den vorhandenen Anmeldedaten an die Anwendung, den Job oder die Funktion. Im folgenden Beispiel wird der Befehl job bind verwendet, um die Serviceinstanz my-object-storage mit den vorhandenen Serviceberechtigungsnachweisen my-cos-credential an einen vorhandenen Job mit der Bezeichnung myjob zu binden.

    ibmcloud ce job bind --name myjob --service-instance my-object-storage --service-credential my-cos-credential
    

    Die folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl job bind verwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehl ibmcloud ce job bind.

    Befehlsoptionen
    Option Beschreibung
    --name Der Name des zu bindenden Jobs. Dieser Wert ist erforderlich.
    --service-instance Geben Sie den Namen einer vorhandenen Serviceinstanz an, die an den Job gebunden werden soll. Dieser Wert ist erforderlich.
    --service-credential Der Name des zu bindenden Serviceberechtigungsnachweis.
  4. Überprüfen Sie, ob die Anmeldedaten mithilfe des application get, die job get, oder den function get Befehl generiert wurden. Stellen Sie im folgenden Beispiel sicher, dass die die im vorherigen Beispiel erstellten Berechtigungsnachweise erstellt wurden.

    ibmcloud ce job get --name myjob
    

    Beispielausgabe

    [...]
    Service Bindings:
    Name                                 ID                                    Service Instance      Service Type          Role / Credential  Environment Variable Prefix
    myjob-ce-service-binding-abcde       abcde645-d3f9-407d-b964-6c3ae69abcde  my-object-storage  cloud-object-storage  my-cos-credential  CLOUD_OBJECT_STORAGE
    [...]
    

Bindung von Serviceinstanzen aufheben

Durch das Aufheben der Verknüpfung von Service-Instanzen mit einer Anwendung, einem Job oder einer Funktion werden bestehende Service-Verknüpfungen entfernt.

Wenn Sie eine Dienstbindung aufheben (oder entfernen), löschen Sie die Verknüpfung der Anwendung, des Auftrags oder der Funktions-Workloads mit dem Dienstzugriffsgeheimnis, so dass der Workload keinen Zugriff mehr auf den zuvor gebundenen Dienst IBM Cloud hat.

Nachdem eine Dienstbindung zwischen Ihrer Anwendung und einer Dienstinstanz definiert wurde, ist die Dienstbindung so lange aktiv, wie die Anwendung und die Dienstinstanz aktiv sind oder Sie nicht einen Bindungsaufhebungsvorgang durchgeführt haben, um die Dienstbindung zu entfernen. Wenn die Dienstinstanz gelöscht wird, müssen Sie die Dienstbindung manuell löschen.

Eine Service-Instanz von der Konsole trennen

  1. Rufen Sie auf der Seite „ Code Engine-Projekte“ Ihr Projekt auf.
  2. Klicken Sie auf der Seite Übersicht auf Dienstbindungen, um eine Liste aller definierten Dienstbindungen anzuzeigen. Wenn Sie die Dienstbindungen im Kontext Ihrer Anwendung oder Ihres Auftrags verwalten möchten, klicken Sie auf der Seite Übersicht auf Anwendungen oder Aufträge und dann auf den Namen Ihrer Anwendung oder Ihres Auftrags. Wechseln Sie auf der Seite der spezifischen Anwendung oder des Auftrags zur Registerkarte Dienstbindungen>.
  3. Löschen Sie aus der Liste der Service-Bindungen die Bindung, die Sie aus Ihrer Anwendung oder Ihrem Job entfernen möchten. Klicken Sie auf das Symbol Aktionen Handlungen > Löschen, um die Dienstbindung zu löschen.

Aufhebung der Bindung einer Dienstinstanz mit der CLI

  1. Suchen Sie die Service-Bindung, die Sie entfernen möchten, mit dem application get, job get oder den function get Befehl; zum Beispiel:

    ibmcloud ce application get --name my-application
    

    Beispielausgabe

    [...]
    Service Bindings:
    Name                                         ID                                    Service Instance      Service Type          Role / Credential  Environment Variable Prefix
    my-application-app-ce-service-binding-abcde  abcde5d3-dfc3-4f52-b133-b869b5eabcde  my-object-storage     cloud-object-storage  Writer             CLOUD_OBJECT_STORAGE
    [...]
    
  2. Entfernen Sie die Dienstbindung mit der Taste application unbind, job unbind, oder function unbind befehl.

    • Wenn Sie eine einzelne Bindung entfernen möchten, geben Sie die Optionen --name und --binding an.
        ibmcloud ce application unbind --name APPLICATION_NAME --binding BINDING_NAME
        ```
    * Verwenden Sie die Option `--all`, um die Bindung aller Serviceinstanzen aufzuheben.
    
    ```txt {: pre}
        ibmcloud ce job unbind --name JOB_NAME --all
        ```