Mehrere SystemLink Enterprise erfordern einen Objektspeicheranbieter. SystemLink Enterprise unterstützt die folgenden Speicheranbieter:

SystemLink Enterprise der folgenden Dateispeicheranbieter:
  • Amazon S3 Storage
  • Amazon S3-kompatibler Speicher
  • Azure Blob Storage
Hinweis Ein mit Amazon S3 kompatibler Dateispeicherprovider muss die vollständige Amazon S3-API implementieren. Weitere Informationen finden Sie unter Amazon S3 API-Referenz. Der Daten-Frame-Dienst unterstützt die interoperable XML-API von GCS Amazon S3 nicht.

Die in den folgenden Tabellen aufgeführten Parameter für Amazon S3 Storage und Azure Blob Storage werden in der Regel von mehreren Konfigurationen gemeinsam genutzt. Die gemeinsame Nutzung erfolgt über die YAML-Anchor-Syntax in den Helm-Wertedateien. Diese Syntax bietet eine komfortable Möglichkeit, eine gemeinsame Konfiguration in Ihren Wertedateien zu teilen. Einzelne Referenzen auf diese Werte können mit benutzerdefinierten Werten überschrieben werden.

Amazon S3- und mit Amazon S3 kompatible Speicherprovider

Hinweis Sie können Objekte im Amazon-S3-Speicher entweder mit SSE-S3 oder SSE-KMS mit Hilfe eines Bucket-Schlüssels verschlüsseln. Weitere Informationen entnehmen Sie bitte folgendem Abschnitt: Schutz von Amazon S3-Daten mit Verschlüsselung.

Legen Sie die folgende Konfiguration in der Helm-Konfigurationsdatei aws-supplemental-values.yaml oder der Helm-Konfigurationsdatei Storage-values.yaml fest.

Sie können Referenzen auf Secrets in der Datei aws-secrets.yaml, der Datei storage-secrete.yaml oder direkt auf dem Cluster konfigurieren.

Tabelle 73. Konfigurierbare Parameter
Parameter vor dem Release 2025-07 Parameter nach dem Release 2025-07 Details
Nicht zutreffend
  • dataframeservice.storage.type
  • fileingestion.storage.type
  • feedservice.storage.type
  • nbexecservice.storage.type
Dieser Wert steht für den Dienstspeichertyp. Setzen Sie den Wert auf s3.
  • dataframeservice.s3.port
  • fileingestion.s3.port
  • feedservice.s3.port
  • nbexecservice.s3.port
  • dataframeservice.storage.s3.port
  • fileingestion.storage.s3.port
  • feedservice.storage.s3.port
  • nbexecservice.storage.s3.port
Dieser Wert steht für die Portnummer des Dienstes des Speicherproviders.
  • dataframeservice.s3.host
  • fileingestion.s3.host
  • feedservice.s3.host
  • nbexecservice.s3.host
  • dataframeservice.storage.s3.host
  • fileingestion.storage.s3.host
  • feedservice.storage.s3.host
  • nbexecservice.storage.s3.host
Dieser Wert steht für den Host-Namen des Dienstes des Speicherproviders.
  • dataframeservice.s3.schemeName
  • fileingestion.s3.scheme
  • feedservice.s3.scheme
  • nbexecservice.s3.scheme
  • dataframeservice.storage.s3.schemeName
  • fileingestion.storage.s3.scheme
  • feedservice.storage.s3.scheme
  • nbexecservice.storage.s3.scheme
Dieser Wert steht für das Schema des Dienstes des Speicherproviders. Dieser Wert ist in der Regel https.
  • dataframeservice.s3.region
  • fileingestion.s3.region
  • feedservice.s3.region
  • nbexecservice.s3.region
  • dataframeservice.storage.s3.region
  • fileingestion.storage.s3.region
  • feedservice.storage.s3.region
  • nbexecservice.storage.s3.region
Dieser Wert steht für den AWS-Bereich, in dem sich der S3-Bucket befindet.
  • dataframeservice.sldremio.distStorage
Unverändert

Lösen Sie die <ATTENTION>-Flags.

Diese Einstellungen konfigurieren den verteilten Speicher, der für den DataFrame-Dienst erforderlich ist.

  • dataframeservice.storage.s3.auth.secretName
  • fileingestion.storage.s3.secretName
  • feedservice.storage.s3.secretName
  • nbexecservice.storage.s3.secretName
Unverändert Secret-Name für Zugangsdaten, die für die Verbindung mit dem Speicherproviderdienst verwendet werden.

Ab der Version 2025-11 fügt fileingestioncdc die folgenden Parameter hinzu.

Tabelle 74. 2025-11 Release-Parameter
Parameter Details
fileingestioncdc.highAvailability.storage.s3.port Dieser Wert steht für die Portnummer des Dienstes des Speicherproviders.
fileingestioncdc.highAvailability.storage.s3.scheme Dieser Wert steht für das Schema des Dienstes des Speicherproviders. Dieser Wert ist in der Regel https.

Verbinden von Diensten mit S3 über IAM

Weisen Sie eine IAM-Rolle zu, um Dienste mit Amazon S3 zu verbinden. Konfigurieren Sie Servicekonten und IAM-Rollennotizen in Ihrer Helm-Wertedatei.

  • Erstellen Sie für jeden Dienst ein Servicekonto, indem Sie serviceAccount.create: true in Ihren Helm-Werten festlegen.
    Hinweis Für Flink-Dienste ist diese Konfiguration nicht erforderlich. Der Flink-Operator verwaltet das Servicekonto.
  • Erstellen Sie eine IAM-Richtlinie mit folgender Anweisung:
    "Action": [
      "s3:PutObject",
      "s3:ListBucket",
      "s3:GetObject",
      "s3:DeleteObject",
      "s3:AbortMultipartUpload"
    ],
    "Effect": "Allow",
    "Resource": [
      "<s3_bucket_ARN>/*",
      "<s3_bucket_ARN>"
    ]
    Hinweis Der Platzhalter <s3_bucket_ARN> steht für den Amazon-Ressourcennamen für den S3-Bucket des Dienstes.
  • Erstellen Sie eine IAM-Rolle, die die IAM-Richtlinie anwendet.
    Hinweis Die meisten IAM-Rollen verwenden die folgende Benennungskonvention: <release-name>-<service-name>-role. Beispiel: systemlink-feedservice-role. Flink-Dienste haben die gleiche Konfiguration wie der Flink-Operator und verwenden: <release-name>-flink-role.
Tabelle 75. Dienstkonfigurationen
Dienst Konfiguration
DataFrame-Dienst Dieser Dienst unterstützt derzeit IAM nicht.
Feed-Dienst
feedservice:
  storage:
    s3:
      authType: "AWS_WEB_IDENTITY_TOKEN"
  serviceAccount:
    annotations:
      eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-feedservice-role"
Datei-Ingestion-Dienst
fileingestion:
  storage:
    s3:
      authType: "AWS_WEB_IDENTITY_TOKEN"
  serviceAccount:
    annotations:
      eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-fileingestion-role"
Datei-Ingestion-CDC
fileingestioncdc:
  highAvailability:
    storage:
      s3:
        authType: "AWS_WEB_IDENTITY_TOKEN"
flinkoperator:
    flink-kubernetes-operator:
      jobServiceAccount:
        annotations:
          eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-flink-role"
Notebook-Ausführungsdienst
nbexecservice:
  storage:
    s3:
      authType: "AWS_WEB_IDENTITY_TOKEN"
  serviceAccount:
    annotations:
      eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-executions-role"

Verbinden von Serviceleistungen mit S3 über Zugriffsschlüssel

Zugriffsschlüssel-Authentifizierung ist erforderlich, wenn keine IAM-Authentifizierung verfügbar ist:

  • DataFrame-Dienst: Dieser Dienst unterstützt derzeit keine IAM-Authentifizierung.
  • S3-kompatible Speicheranbieter: IAM-Authentifizierung ist nur für AWS S3 verfügbar.

Geben Sie in Ihrer Datei systemLink-values.yaml oder aws-supplemental-values.yaml die S3-Verbindungsparameter und die Geheimreferenz an:

feedservice:
  storage:
    s3:
      secretName: "feeds-s3-credentials"
      accessKeyIdName: "aws-access-key-id"
      accessKeyName: "aws-secret-access-key"
      authType: "ACCESS_KEY"
      bucket: "systemlink-feeds"
      scheme: "https://"
      host: "s3.amazonaws.com"
      port: 443
      region: "us-east-1"

Geben Sie in Ihrer systemlink-secrets.yaml- oder aws-secrets.yaml-Datei die Zugangsdaten an:

feedservice:
  secrets:
    s3:
      accessKeyId: "<your-access-key-id>"
      accessKey: "<your-secret-access-key>"

Das gleiche Muster gilt auch für andere Dienste, wenn keine IAM-Authentifizierung verfügbar ist.

Hinweis Bei der Bereitstellung auf AWS mit Amazon S3 empfiehlt NI die Verwendung der IAM-Authentifizierung, sofern diese unterstützt wird, um die Sicherheit und Anmeldeinformationen zu verbessern.

Azure Blob Storage-Provider

Hinweis Für das Speicherkonto des DataFrame-Dienstes müssen Sie blob soft delete und den hierarchischen Namensraum deaktivieren.

Legen Sie die folgende Konfiguration in der Helm-Konfigurationsdatei azure-supplemental-values.yaml oder der Helm-Konfigurationsdatei storage-values.yaml fest.

Sie können Referenzen auf Secrets in der Datei azure-secrets.yaml, der Datei storage-secrets.yaml oder direkt auf dem Cluster konfigurieren.

Tabelle 76. Konfigurierbare Parameter
Parameter ab dem Release 2025-07 Details
  • dataframeservice.storage.type
  • fileingestion.storage.type
  • fileingestioncdc.highAvailability.storage.type
  • feedservice.storage.type
  • nbexecservice.storage.type
Dieser Wert steht für die Speicherart des Dienstes. Setzen Sie den Wert auf azure.
  • dataframeservice.storage.azure.blobApiHost
  • fileingestion.storage.azure.blobApiHost
  • fileingestioncdc.highAvailability.storage.azure.blobApiHost
  • feedservice.storage.azure.blobApiHost
  • nbexecservice.storage.azure.blobApiHost

Dieser Wert steht für den Host von Azure Blob Storage ohne Kontonamen. Sie können den Wert beispielsweise auf blob.core.windows.net oder blob.core.usgovcloudapi.net setzen.

Wenn Ihr Speicher nicht den Standardport verwendet, fügen Sie den Port am Ende des Hosts hinzu. Zum Beispiel blob.core.windows.net:1234.

  • dataframeservice.storage.azure.dataLakeApiHost

Dieser Wert steht für den Host und den Port des Azure Data Lake Storage, mit dem eine Verbindung ohne Kontonamen hergestellt werden soll. Sie können den Wert beispielsweise auf „dfs.core.windows.net“ setzen.

Wenn Ihr Speicher nicht den Standardport verwendet, fügen Sie den Port am Ende des Hosts hinzu. Zum Beispiel: dfs.core.windows.net:1234.

  • dataframeservice.storage.azure.accountName
  • fileingestion.storage.azure.accountName
  • fileingestioncdc.highAvailability.storage.azure.accountName
  • feedservice.storage.azure.accountName
  • nbexecservice.storage.azure.accountName
Dieser Wert steht für das Speicherkonto Ihres Dienstes. NI empfiehlt die Verwendung unterschiedlicher Speicherkonten für unterschiedliche Dienste.

Verbinden von Diensten mit Azure Blob Storage

Zur Konfiguration der Azure Blob Storage-Authentifizierung müssen Sie sowohl die Wertedatei als auch die Secrets-Datei konfigurieren.

Konfigurieren Sie die Azure Blob Storage-Authentifizierung mit Hilfe der Datei values und secrets.

Geben Sie in Ihrer Datei azure-supplemental-values.yaml oder storage-values.yaml die Azure-Speicherparameter an:

feedservice:
  storage:
    type: "azure"
    azure:
      accountName: "<your-azure-storage-account-name>"
      blobApiHost: "blob.core.windows.net"

Geben Sie in Ihrer Datei azure-secrets.yaml die Zugangsdaten an:

feedservice:
  secrets:
    azure:
      accessKey: "<your-azure-storage-access-key>"

Das gleiche Muster gilt für andere Dienste.

Hinweise zu Grenzwerten und Kosten für die Dateispeicherung

Um Grenzwerte anzupassen und Kosten zu reduzieren, nutzen Sie die unten beschriebenen Konfigurationen.

Tabelle 77. Überlegungen zum Dateispeicher
Überlegung Konfiguration
Reduzierung der Speicherkosten
Um unvollständige Multipart-Uploads zu bereinigen, konfigurieren Sie Ihren Dienst. Wenn Sie Amazon S3 verwenden, konfigurieren Sie den Wert AbortIncompleteMultipartUpload auf Ihren S3-Buckets.
Hinweis Azure Storage löscht nicht übernommene Blöcke automatisch nach sieben Tagen. Ob andere Provider S3-kompatibel sind, erfahren Sie in der Dokumentation des jeweiligen Providers.
Anpassung der Anzahl der Dateien, die ein einzelner Benutzer pro Sekunde hochladen kann

Konfigurieren Sie den Wert fileingestion.rateLimits.upload.

Standardmäßig ist der Wert 3 Dateien pro Sekunde pro Benutzer. Durch Lastverteilung zwischen Replikaten ist die effektive Rate höher als die angegebene Rate.

Anpassung der maximalen Dateigröße, die Benutzer hochladen können

Konfigurieren Sie den Wert fileingestion.uploadLimitGB.

Standardmäßig ist der Wert 2 GB.

Anpassung der Anzahl der gleichzeitigen Anfragen, die ein einzelnes Replikat zum Aufnehmen von Daten verwenden kann

Konfigurieren Sie den Wert dataframeservice.rateLimits.ingestion.requestLimit.