Importprogramm Cloud Object Storage für die Migration von Chatprotokollen verwenden

IBM Cloud Pak for Data

Sie können den Importservice Cloud Object Storage verwenden, um Ihre Chatprotokolle von einer Installation in eine andere zu migrieren.

Dieses Diagramm zeigt zwei Cluster:

Diagrammcluster
Cluster Beschreibung
Cloud Object Storage verbraucher Red Hat OpenShift-Cluster mit der Installation zum Export von Chatprotokolldaten in Cloud Object Storage
Cloud Object Storage importeur Red Hat OpenShift-Cluster mit der Installation, die Chatprotokolldaten aus dem kopierten Bucket aus dem Cloud Object Storage-Konsumentencluster importiert

Architekturdiagramm{caption="Architecture Diagram" caption-side="bottom"}

Cloud Object Storage-Konsumentenservice des Datengovernors konfigurieren

  1. Verwenden Sie das Script, um eine neue Datei im Cloud Object Storage-Konsumentencluster zu erstellen.

    COS_ACCESS_KEY=`echo -n "<enter_COS_key_here>"|base64`
    COS_SECRET_ACCESS_KEY=`echo -n "<enter_COS_secret_access_key_here>"|base64`
    COS_ENDPOINT="<enter_COS_endpoint here>"
    #For e.g. COS_ENDPOINT="https://s3.us.cloud-object-storage.appdomain.cloud"
    
    cat <<EOF | oc apply -f -
    
    apiVersion: v1
    kind: Secret
    metadata:
      name: wa-data-governor-cos-credentials
      namespace: cpd
    data:
      COS_ACCESS_KEY: ${COS_ACCESS_KEY}
      COS_SECRET_KEY: ${COS_SECRET_ACCESS_KEY}
    type: Opaque
    
    EOF
    
    cat <<EOF | oc apply -f -
    apiVersion: assistant.watson.ibm.com/v1
    kind: TemporaryPatch
    metadata:
      name: wa-data-governor
      namespace: cpd
    spec:
      apiVersion: assistant.watson.ibm.com/v1
      kind: WatsonAssistant
      name: wa
      patch:
        data-governor:
          dataexhaust:
            spec:
              consumers:
                cosConsumer: true
              cos:
                endpoint: ${COS_ENDPOINT}
                secret:
                  accessKey: COS_ACCESS_KEY
                  name: wa-data-governor-cos-credentials
                  secretKey: COS_SECRET_KEY
      patchType: patchStrategicMerge
    EOF
    
  2. Ersetzen Sie im Script diese Platzhalter durch die tatsächlichen Werte:

    • <enter_COS_key_here>
    • <enter_COS_secret_access_key_here>
    • <enter_COS_endpoint here>
  3. Führen Sie das Script aus.

  4. Warten Sie 15 bis 20 Minuten und prüfen Sie dann, ob die Datengovernor-Pods stabil sind.

  5. Wenn die Pods stabil sind, melden Sie sich bei Ihrer Instanz an.

  6. Wählen Sie den richtigen Assistenten aus, klicken Sie dann auf das Symbol Preview auf der linken vertikalen Leiste und generieren Sie Chatprotokolle.

  7. Überprüfen Sie, ob die Cloud Object Storage-Objekte im data-exhaust-backup-wa-data-governor-e58d5f4a1344 Cloud Object Storage-Bucket erstellt wurden.

Importservice Cloud Object Storage des Datengovernors konfigurieren

Erstellen Sie eine Datei im Cloud Object Storage Importer-Cluster und kopieren Sie das folgende Script in diesen Cluster. Ersetzen Sie die Platzhalter <enter_COS_key_here>, <enter_COS_secret_access_key_here> und <enter_COS_endpoint here> durch die tatsächlichen Werte und speichern Sie die Datei. Führen Sie anschließend das Script aus. Warten Sie 15 -20 Minuten und überprüfen Sie, ob die Data-Governor-Pods stabil sind. Wenn die Pods stabil sind, überprüfen Sie, ob das Importprogramm cron wie geplant ausgeführt wird. Überprüfen Sie nach Abschluss des importer-Pods, ob Chatprotokolldaten in die richtigen Chatprotokolle des Assistenten importiert wurden, indem Sie zur Benutzerschnittstelle des Assistenten wechseln und die Anzeige Analyze auf importierte Daten überprüfen.

  1. Verwenden Sie das Script, um eine neue Datei im Importkomponentencluster von Cloud Object Storage zu erstellen.

       COS_ACCESS_KEY=`echo -n "<enter_COS_key_here>"|base64`
       COS_SECRET_ACCESS_KEY=`echo -n "<enter_COS_secret_access_key_here>"|base64`
    
       cat <<EOF | oc apply -f -
    
       apiVersion: v1
       kind: Secret
       metadata:
         name: wa-data-governor-cos-credentials
         namespace: cpd
       data:
         COS_ACCESS_KEY: ${COS_ACCESS_KEY}
         COS_SECRET_KEY: ${COS_SECRET_ACCESS_KEY}
       type: Opaque
    
       EOF
    
    COS_ENDPOINT="<enter_COS_endpoint here>"  # For e.g. COS_ENDPOINT="https://s3.us.cloud-object-storage.appdomain.cloud"
    # See "How to generate a JSON mapping defintion" below for instructions on how to create the next line
    JSON_ID_MAPPING='{"instances":[{"source_id":"<instance_id_consumer1>","target_id":"<instance_id_importer1>","assistants":[{"source_id":"<draft_or_live_environment_id_consumer1>","target_id":"<draft_or_live_environment_id_importer1>"}],"workspaces":[{"source_id":"<action_skill_id_consumer1>","target_id":"<action_skill_id_importer1>"}]}]}'
    
    cat <<EOF | oc apply -f -
    apiVersion: assistant.watson.ibm.com/v1
    kind: TemporaryPatch
    metadata:
      name: wa-data-governor
    spec:
      apiVersion: assistant.watson.ibm.com/v1
      kind: WatsonAssistant
      name: wa
      patchType: patchStrategicMerge
      patch:
        data-governor:
          dataexhaust:
            spec:
              cos:
                endpoint: ${COS_ENDPOINT}
                secret:
                  accessKey: COS_ACCESS_KEY
                  name: wa-data-governor-cos-credentials
                  secretKey: COS_SECRET_KEY
              cosImporter:
                fromBucket: data-exhaust-backup-wa-data-governor-e58d5f4a1344
                clearObjectTags: false
                filter:
    # Modify prefix value.
                  prefix: "20230322"
                fromTenant: "*"
    # Modify schedule to run importer cron less frequently
                schedule: '* * * * *'
    # See "How to generate a JSON mapping defintion" below for instructions on how to create the next line
                schema: ${JSON_ID_MAPPING}
                workers: 3
    
  2. Ersetzen Sie im Script diese Platzhalter durch die tatsächlichen Werte:

    • <enter_COS_key_here>
    • <enter_COS_secret_access_key_here>
    • <enter_COS_endpoint here>
  3. Führen Sie das Script aus.

  4. Warten Sie 15 bis 20 Minuten und prüfen Sie dann, ob die Datengovernor-Pods stabil sind.

  5. Wenn die Pods stabil sind, stellen Sie sicher, dass das Importprogramm cron wie geplant ausgeführt wird.

  6. Überprüfen Sie nach Abschluss des importer-Pods, ob die Chatprotokolle im richtigen Assistenten importiert wurden, indem Sie Ihren Assistenten öffnen und die Anzeige Analyze auf importierte Daten überprüfen.

Parameter
Parameter Beschreibung
fromBucket Cloud Object Storage-Bucket mit den zu importierenden Daten
Planen Zeitplan für die Ausführung des Cron-Jobs Cloud Object Storage
clearObjectTags Auf 'true' setzen, damit das Importprogramm für bereits verarbeitete Cloud Object Storage-Objekte erneut ausgeführt werden kann
Worker Anzahl der Worker-Threads. Eine Erhöhung der Anzahl erfordert mehr Jobressourcen.
Filter Bietet Kontrolle darüber, welche Objekte aus dem Cloud Object Storage-Bucket importiert werden
Präfix Ermöglicht den Import von Objekten aus einem bestimmten Datum
documentTimestampWindow Ermöglicht das Importieren von Objekten in einem bestimmten Zeitraum
cos Cloud Object Storage zeugnisse
Schema Transformationsschema, das es dem Importprogramm ermöglicht, Felder zu ändern, damit Analysedaten aus der pprd-Instanz im Training angezeigt werden können. Weitere Informationen finden Sie unter JSON-ID-Zuordnungsdefinition für den Data Governor Importer-Service generieren.
fromTenant Ermöglicht den Import für bestimmte Filtertenantdaten

Die Werte für instance_id_consumer1, draft_or_live_environment_id_consumer1 und action_skill_id_consumer1 finden Sie auf der Seite mit den Assistenteneinstellungen im Cloud Object Storage-Konsumentencluster.

Assistenteneinstellungen{caption="Assistant settings" caption-side="bottom"}

Beispiel:

  • instance_id_consumer1 kann aus Service Instance URL extrahiert werden. Zum Beispiel 00000000-0000-0000-1679-443304652288.

  • draft_or_live_environment_id_consumer1-Werte sind die Draft environment-oder Live Environment-IDs.

  • Der Wert für action_skill_id_consumer1 ist Action Skill ID.

In ähnlicher Weise können Sie Cloud Object Storage Importer-Instanzen, Assistenten und Arbeitsbereiche target_id-Werte aus Assistenteneinstellungen für den Cloud Object Storage Importer-Cluster extrahieren.

JSON-ID-Zuordnungsdefinition für den Data Governor Importer-Service generieren

Sie können die Analyseberichte in Ihrer Entwicklungsumgebung verwenden, um Einblick in Ihre Produktions-Chat-Protokolle zu erhalten.

Sie müssen Ihre Produktionschatprotokolldaten in Ihre Entwicklungsumgebung verschieben und anschließend die Produktionschatprotokolldaten für die Verwendung durch die Analyseberichte in Ihren Entwicklungsassistenten transformieren.

Damit die verschobenen Chatprotokolle von den Analyseberichten in einer anderen Instanz und einem anderen Assistenten in Ihrer Entwicklungsumgebung verwendet werden können, müssen die verschiedenen IDs der Elastic-Dokumente des Chatprotokolls von der Quelle in das Ziel umgewandelt werden.

Verwenden Sie diesen Code für die ID-Zuordnungsdefinition.

  • Diese Zuordnungsdefinition unterstützt die Umsetzung der Chatprotokolle für mehrere Instanzen und Assistenten.

  • Die Zuordnung ist hierarchisch, sodass jede Zuordnung auf Instanzebene auch mehrere Zuordnungen auf Assistentenebene für eine solche Instanz enthält.

  • Jede Zuordnung enthält zwei ID-Felder: source_id und target_id. Sie müssen Daten für jede Zuordnung auf Instanz-und Assistentenebene bereitstellen.

Sie können die ID-Daten in anwendbaren Instanzen und Assistenten suchen.

{
	"instances": [
		{
			"source_id": "<string>",
			"target_id": "<string>",
			"assistants": [
				{
					"source_id": "<string>",
					"target_id": "<string>"
				}
			],
			"workspaces": [
				{
					"source_id": "<string>",
					"target_id": "<string>"
				}
			]
		}
	]
}

Verwendungsbeispiele

Ordnen Sie Assistenten aus einer Quelleninstanz Assistenten in mehreren Zielinstanzen zu.

Im folgenden Beispiel werden 2 Assistenten in 1 Quelleninstanz 2 Assistenten in 2 Zielinstanzen zugeordnet.

{
	"instances": [
		{
			"source_id": "07079e0a-a8cd-4dc5-b3a4-7879d7cf0a8f",
			"target_id": "90876f0b-c98d-fcc9-c4b5-0291a3bd4f9a",
			"assistants": [
				{
					"source_id": "081513d5-9858-4eb9-9012-5ce0af8182a6",
					"target_id": "f4e5f6d5-3903-486f-8563-416446d8c8a0"
				}
			]
		},
		{
			"source_id": "07079e0a-a8cd-4dc5-b3a4-7879d7cf0a8f",
			"target_id": "79640a7b-45bc-7eea-b4f1-98b55fca6b1c",
			"assistants": [
				{
					"source_id": "9645f5d1-f432-4abd-a589-12bc4af5b133",
					"target_id": "a4bb579e-e3b5-34bc-afe5-9afc490e8bac"
				}
			]
		}
	]
}