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
- Erstellen Sie ein Projekt.
- Erstellen Sie einen Code Engine Workload, der an Ihre Service-Instanz gebunden werden soll. Der Workload, den Sie an die Service-Instanz binden wollen, muss vorhanden sein.
- Erstellen Sie die Service-Instanz, die Sie an Ihre „ Code Engine “-Workload binden möchten.
- Konfigurieren Sie den Zugang für Dienstbindungen.
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.
- Sobald Ihr Projekt den Status „Aktiv“ hat, klicken Sie auf der Seite „ Code Engine-Projekte“ auf den Namen Ihres Projekts.
- Klicken Sie auf der Seite Übersicht auf Dienstbindungen.
- Klicken Sie auf der Seite Dienstbindungen auf Erstellen, um die Bindung zu erstellen.
- Wählen Sie die Instanz des Dienstes „ IBM “ aus, die Sie an Ihre Anwendung oder Ihren Job unter Code Engine binden möchten.
- 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. - 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.
- Wählen Sie die Rolle für die Anmeldeinformation der Serviceinstanz.
- Erweitern Sie Erweiterte Optionen.
- Damit Code Engine automatisch die Dienstanmeldung für eine IBM Cloud Dienstinstanz erstellt, wählen Sie
Auto-generate. - (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.
- Klicken Sie auf „Hinzufügen“, um die Dienstbindung zu erstellen.
- 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.
- Sobald Ihr Projekt den Status „Aktiv“ hat, klicken Sie auf der Seite „ Code Engine-Projekte“ auf den Namen Ihres Projekts.
- Klicken Sie auf der Seite Übersicht auf Dienstbindungen.
- Klicken Sie auf der Seite Dienstbindungen auf Erstellen, um die Bindung zu erstellen.
- Wählen Sie die Instanz des Dienstes „ IBM “ aus, die Sie an Ihre Anwendung oder Ihren Job unter Code Engine binden möchten.
- 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. - 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.
- Wählen Sie die Rolle für die Anmeldeinformation der Serviceinstanz.
- Erweitern Sie Erweiterte Optionen.
- Wählen Sie die Dienstberechtigung aus, die mit diesem Dienstzugangsgeheimnis verwendet werden soll.
- (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.
- Klicken Sie auf „Hinzufügen“, um die Dienstbindung zu erstellen.
- 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.
- Sobald Ihr Projekt den Status „Aktiv“ hat, klicken Sie auf der Seite „ Code Engine-Projekte“ auf den Namen Ihres Projekts.
- Klicken Sie auf der Seite Übersicht auf Dienstbindungen.
- Klicken Sie auf der Seite Dienstbindungen auf Erstellen, um die Bindung zu erstellen.
- Wählen Sie die Instanz des Dienstes „ IBM “ aus, die Sie an Ihre Anwendung oder Ihren Job unter Code Engine binden möchten.
- Wählen Sie die „ Code Engine “-Anwendung oder den Job aus, den Sie an die Service-Instanz binden möchten.
- 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.
- Überprüfen Sie die Liste der vorhandenen Geheimnisse und wählen Sie das Geheimnis aus, das Sie mit dieser Dienstbindung verwenden möchten.
- (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.
- Klicken Sie auf „Hinzufügen“, um die Dienstbindung zu erstellen.
- 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
-
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 bindbefehl.
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
-
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-instancesausführen; zum Beispiel:ibmcloud resource service-instancesBeispielausgabe
Name Location State Type Resource Group ID my-object-storage global active service_instance 325d80be5d7945608f6d121712c96ee9 -
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 bindwird 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-storageDie folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl
application bindverwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehlibmcloud ce application bind.Befehlsoptionen Option Beschreibung --nameDer Name der zu bindenden Anwendung. Dieser Wert ist erforderlich. --service-instanceGeben 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 -
Überprüfen Sie, ob die Anmeldedaten mithilfe des
application get, diejob get, oder denfunction getBefehl generiert wurden. Stellen Sie im folgenden Beispiel sicher, dass die die im vorherigen Beispiel erstellten Berechtigungsnachweise erstellt wurden.ibmcloud ce application get --name my-applicationBeispielausgabe
[...] 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 bindbefehl.
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
-
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-instancesausführen; zum Beispiel:ibmcloud resource service-instancesBeispielausgabe
Name Location State Type Resource Group ID my-object-storage global active service_instance 325d80be5d7945608f6d121712c96ee9 -
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 bindBefehl 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--prefixwird 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 MYPREFIXDie folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl
function bindverwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehlibmcloud ce function bind.Befehlsoptionen Option Beschreibung --nameDer Name der zu bindenden Funktion. Dieser Wert ist erforderlich. --prefixDas Präfix für Umgebungsvariablen, die für diese Dienstbindung angelegt werden. Zum Beispiel fügt --prefix MYPREFIXdas PräfixMYPREFIXzu allen Umgebungsvariablen hinzu, die für diese Dienstbindung erstellt werden. Weitere Informationen finden Sie unter Präfixmethode.--service-instanceGeben Sie den Namen einer vorhandenen Service-Instanz an, die an die Funktion gebunden werden soll. Dieser Wert ist erforderlich. --roleDer Name einer Servicerolle für den neuen Serviceberechtigungsnachweis, der für die Servicebindung erstellt wird. Gültige Werte sind Reader,Writer,Manageroder eine servicespezifische Rolle. Wenn die Option--rolenicht angegeben ist, lautet der StandardwertManageroder die erste Rolle, die vom Service bereitgestellt wird, wennManagernicht unterstützt wird. Diese Option wird ignoriert, wenn die Option--service-credentialangegeben ist.Beispielausgabe
Binding service instance... Status: Done OK -
Überprüfen Sie, ob die Anmeldedaten mithilfe des
application get, denjob getBefehl oder denfunction getBefehl generiert wurden. Stellen Sie im folgenden Beispiel sicher, dass die die im vorherigen Beispiel erstellten Berechtigungsnachweise erstellt wurden.ibmcloud ce function get --name my-functionBeispielausgabe
[...] 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
-
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-instancesausführen; zum Beispiel:ibmcloud resource service-instancesBeispielausgabe
Name Location State Type Resource Group ID my-object-storage global active service_instance 325d80be5d7945608f6d121712c96ee9 -
Suchen Sie die Berechtigungsnachweise für die Serviceinstanz.
ibmcloud resource service-keys --instance-name INSTANCENAMEBeispielausgabe
Name State Created At my-cos-credential active Tue Mar 2 01:15:33 UTC 2021Führen Sie den Befehl
ibmcloud resource service-key KEYNAMEaus, um die Details eines Serviceberechtigungsnachweises anzuzeigen. Sie können alle Serviceschlüssel in Ihrer Ressourcengruppe finden, indem Sieibmcloud resource service-keysausführen. -
Binden Sie die Service-Instanz mit den vorhandenen Anmeldedaten an die Anwendung, den Job oder die Funktion. Im folgenden Beispiel wird der Befehl
job bindverwendet, um die Serviceinstanzmy-object-storagemit den vorhandenen Serviceberechtigungsnachweisenmy-cos-credentialan einen vorhandenen Job mit der Bezeichnungmyjobzu binden.ibmcloud ce job bind --name myjob --service-instance my-object-storage --service-credential my-cos-credentialDie folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl
job bindverwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehlibmcloud ce job bind.Befehlsoptionen Option Beschreibung --nameDer Name des zu bindenden Jobs. Dieser Wert ist erforderlich. --service-instanceGeben Sie den Namen einer vorhandenen Serviceinstanz an, die an den Job gebunden werden soll. Dieser Wert ist erforderlich. --service-credentialDer Name des zu bindenden Serviceberechtigungsnachweis. -
Überprüfen Sie, ob die Anmeldedaten mithilfe des
application get, diejob get, oder denfunction getBefehl generiert wurden. Stellen Sie im folgenden Beispiel sicher, dass die die im vorherigen Beispiel erstellten Berechtigungsnachweise erstellt wurden.ibmcloud ce job get --name myjobBeispielausgabe
[...] 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
- Rufen Sie auf der Seite „ Code Engine-Projekte“ Ihr Projekt auf.
- 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>.
- 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
> Löschen, um die Dienstbindung zu löschen.
Aufhebung der Bindung einer Dienstinstanz mit der CLI
-
Suchen Sie die Service-Bindung, die Sie entfernen möchten, mit dem
application get,job getoder denfunction getBefehl; zum Beispiel:ibmcloud ce application get --name my-applicationBeispielausgabe
[...] 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 [...] -
Entfernen Sie die Dienstbindung mit der Taste
application unbind,job unbind, oderfunction unbindbefehl.- Wenn Sie eine einzelne Bindung entfernen möchten, geben Sie die Optionen
--nameund--bindingan.
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 ``` - Wenn Sie eine einzelne Bindung entfernen möchten, geben Sie die Optionen