Verbinden von Amazon S3 mit Experience Platform mithilfe der Flow Service-API

Lesen Sie dieses Handbuch, um zu erfahren, wie Sie Ihr Amazon S3-Quellkonto mithilfe der -API mit Flow Service Adobe Experience Platform.

Erste Schritte

Dieses Handbuch setzt ein Verständnis der folgenden Komponenten von Adobe Experience Platform voraus:

  • Quellen: Experience Platform ermöglicht die Aufnahme von Daten aus verschiedenen Quellen und bietet Ihnen die Möglichkeit, die eingehenden Daten mithilfe von Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
  • Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Platform in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse entwickeln und weiterentwickeln können.

Verwenden von Platform-APIs

Informationen darüber, wie Sie Platform-APIs erfolgreich aufrufen können, finden Sie im Handbuch unter Erste Schritte mit Platform-APIs.

Verbinden von Amazon S3 mit Experience Platform auf Azure azure

Lesen Sie die folgenden Schritte, um Informationen zum Verbinden Ihrer Amazon S3 mit Experience Platform auf Azure zu erhalten.

Sammeln erforderlicher Anmeldedaten

Damit Flow Service eine Verbindung mit Ihrem Amazon S3-Speicher herstellen können, müssen Sie Werte für die folgenden Verbindungseigenschaften angeben:

Anmeldedaten
Beschreibung
s3AccessKey
Die Zugriffsschlüssel-ID für Ihren Amazon S3.
s3SecretKey
Die ID des geheimen Schlüssels für Ihren Amazon S3.
serviceUrl
(Optional) Der benutzerdefinierte Amazon S3, mit dem eine Verbindung hergestellt werden soll. Dieses Feld ist erforderlich, wenn Ihr Amazon S3 Bucket regionsspezifisch ist. Das Format für serviceUrl ist: https://s3.{REGION}.amazonaws.com/).
bucketName
Der Amazon S3 Bucket enthält Ihre Daten und die zugehörigen beschreibenden Metadaten. Ihr Amazon S3-Behältername muss zwischen drei und 63 Zeichen lang sein und entweder mit einem Buchstaben oder einer Zahl beginnen und enden. Der Behältername darf nur Kleinbuchstaben, Zahlen oder Bindestriche (-) enthalten und kann nicht als IP-Adresse formatiert werden.
folderPath
Der Pfad zum Ordner in Ihrem Amazon S3-Bucket, in dem Ihre Daten gespeichert sind. Diese Berechtigung ist erforderlich, wenn der Benutzer eingeschränkten Zugriff hat.
s3SessionToken
(Optional) Ein kurzfristiges, temporäres Token, mit dem Sie Benutzern in nicht vertrauenswürdigen Umgebungen temporären Zugriff auf Ihre Amazon S3-Ressourcen gewähren können. Weitere Informationen finden Sie in der Amazon S3 Übersicht.
connectionSpec.id
Die Verbindungsspezifikation gibt die Connector-Eigenschaften einer Quelle zurück, einschließlich der Authentifizierungsspezifikationen für die Erstellung der Basis- und Quellverbindungen. Die Verbindungsspezifikations-ID für Amazon S3 ist: ecadc60c-7455-4d87-84dc-2a0e293d997b.

Weitere Informationen zu den ersten Schritten finden Sie diesem Amazon Web Services Dokument.

Erstellen einer Basisverbindung für Amazon S3 auf Experience Platform in Azure

Bei einer Basisverbindung werden Informationen zwischen Ihrer Quelle und Platform gespeichert, einschließlich der Authentifizierungs-Anmeldedaten Ihrer Quelle, des aktuellen Verbindungsstatus und Ihrer eindeutigen Kennung der Basisverbindung. Mit der Kennung der Basisverbindung können Sie Dateien aus Ihrer Quelle heraus analysieren und darin navigieren und die spezifischen Elemente identifizieren, die Sie erfassen möchten, einschließlich Informationen zu ihren Datentypen und Formaten.

Um eine Basisverbindungs-ID zu erstellen, stellen Sie eine POST-Anfrage an den Endpunkt /connections und geben Sie dabei Ihre S3-Authentifizierungs-Anmeldedaten als Teil der Anfrageparameter an.

API-Format

POST /connections

Anfrage

Die folgende Anfrage erstellt eine Basisverbindung für Amazon S3:

Anfragebeispiel auswählen, um es anzuzeigen
code language-shell
curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/connections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "Amazon S3 base connection",
        "description": "Amazon S3 base connection with temporary session token",
        "auth": {
            "specName": "Access Key",
            "params": {
                "s3AccessKey": "{S3_ACCESS_KEY}",
                "s3SecretKey": "{S3_SECRET_KEY}",
                "s3SessionToken": "{S3_SESSION_TOKEN}
            }
        },
        "connectionSpec": {
            "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
            "version": "1.0"
        }
    }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Eigenschaft Beschreibung
auth.params.s3AccessKey Der Zugriffsschlüssel, der mit Ihrem S3-Bucket verknüpft ist.
auth.params.s3SecretKey Ihr geheimer Schlüssel, der Ihrem S3 zugeordnet ist.
auth.params.s3SessionToken (Optional) Das kurzfristige, temporäre S3-Token, das für den Zugriff auf Ihren Bucket verwendet wird.
connectionSpec.id Die S3-Verbindungsspezifikations-ID: ecadc60c-7455-4d87-84dc-2a0e293d997b

Antwort

Eine erfolgreiche Antwort gibt Details der neu erstellten Verbindung zurück, einschließlich ihrer eindeutigen Kennung (id). Diese ID ist erforderlich, um Ihren -Speicher im nächsten Tutorial zu untersuchen.

Auswählen, um ein Beispiel für eine Antwort anzuzeigen
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Aktualisieren des S3 Sitzungstokens

Der s3SessionToken ist temporär und muss bei Ablauf aktualisiert werden. Sie können das mit Ihrer Basisverbindung verknüpfte Sitzungs-Token aktualisieren, indem Sie eine PATCH-Anfrage an Flow Service -API senden. Weitere Informationen S3 temporären Sicherheitsberechtigungen für S3 finden Sie„Übersicht“.

IMPORTANT
Die Kopfzeile If-Match ist bei einer PATCH-Anfrage erforderlich. Der Wert für diese Kopfzeile ist das eindeutige eTag der Verbindung, die Sie aktualisieren möchten.

API-Format

PATCH /connections

Anfrage

Die folgende Anfrage erstellt eine Basisverbindung für Amazon S3:

Anfragebeispiel auswählen, um es anzuzeigen
code language-shell
curl -X PATCH \
    'https://platform.adobe.io/data/foundation/flowservice/connections/4cb0c374-d3bb-4557-b139-5712880adc55' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'If-Match: "1700d77b-0000-0200-0000-5e3b41a10000"'
    -d '[
        {
            "op": "replace",
            "path": "/auth/params/s3SessionToken",
            "value": "{SESSION_TOKEN}"
        }
    ]'
table 0-row-2 1-row-2 2-row-2 3-row-2
Parameter Beschreibung
op Der Operationsaufruf, der für die Definition der zum Aktualisieren der Verbindung erforderlichen Aktion verwendet wird. Die Operationen umfassen add, replace und remove.
path Der Pfad des zu aktualisierenden Parameters.
value Der neue Wert, mit dem Sie Ihren Parameter aktualisieren möchten.

Antwort

Bei einer erfolgreichen Antwort werden Ihre Basisverbindungs-ID und ein aktualisiertes E-Tag angegeben. Sie können die Aktualisierung überprüfen, indem Sie eine GET-Anfrage an die Flow Service-API stellen und dabei Ihre Verbindungs-ID angeben.

Auswählen, um ein Beispiel für eine Antwort anzuzeigen
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}

Verbinden von Amazon S3 mit Experience Platform auf Amazon Web Services (AWS) aws

AVAILABILITY
Dieser Abschnitt gilt für Implementierungen von Experience Platform, die auf Amazon Web Services (AWS) ausgeführt werden. Experience Platform, das auf AWS ausgeführt wird, steht derzeit einer begrenzten Anzahl von Kunden zur Verfügung. Weitere Informationen zur unterstützten Experience Platform-Infrastruktur finden Sie in der Übersicht zur Experience Platform-Multi-Cloud.

Lesen Sie die folgenden Schritte, um Informationen zum Verbinden Ihrer Amazon S3 mit Experience Platform auf AWS zu erhalten.

Voraussetzungen

Um Ihr Amazon S3-Konto mit Experience Platform auf AWS zu verbinden, benötigen Sie Folgendes:

  • Ein AWS-Konto mit Zugriff auf den Amazon S3-Bucket oder -Ordner, den Sie verbinden möchten.
  • Die erforderlichen IAM-Berechtigungen, die s3:GetObject und s3:ListBucket Aktionen ermöglichen.

Abrufen der IAM-Rolle für Ihre Bucket-Berechtigungen

API-Format

GET /connectionSpecs/{CONNECTION_SPEC_ID}/configs?authType={AUTH_TYPE}

Anfrage

Anfragebeispiel auswählen, um es anzuzeigen
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/ecadc60c-7455-4d87-84dc-2a0e293d997b/configs?authType=IamBasedAuthentication' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \

Antwort

Eine erfolgreiche Antwort gibt Ihre IAM-Rolle zurück. Dieser Wert ist im nächsten Schritt erforderlich, um Berechtigungen in Ihrem Amazon S3 einzurichten.

Auswählen, um ein Beispiel für eine Antwort anzuzeigen
code language-json
{
    "configParams": {
          "IAMRole": "{IAM_ROLE}"
    }
}

Einrichten von Berechtigungen in Ihrem Amazon S3 Bucket

  1. Melden Sie sich in der AWS-Verwaltungskonsole bei Ihrem Konto.
  2. Navigieren Sie zu Ihrem Amazon S3 und wählen Sie Permissions aus.
  3. Bearbeiten Sie die Bucket-Richtlinie und fügen Sie die folgenden Berechtigungen hinzu:
TIP
IAM_ROLE_TO_ALLOW_LIST ist die IAM-Rolle, die im vorherigen Schritt über die API abgerufen wurde. Sie müssen {YOUR_BUCKET_NAME} durch den tatsächlichen Namen Ihres Amazon S3-Buckets ersetzen. Wenn Sie Zugriff auf einen bestimmten Ordner gewähren möchten, müssen Sie {YOUR_FOLDER_NAME} auch durch den tatsächlichen Namen des Ordners ersetzen, auf den Sie Zugriff gewähren möchten.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AEP Get Object Related Policy Prod",
            "Effect": "Allow",
            "Principal": {
                "AWS": "{IAM_ROLE_TO_ALLOW_LIST}"
            },
            "Action": "s3:Get*",
            "Resource": "arn:aws:s3:::{YOUR_BUCKET_NAME}/{YOUR_FOLDER_NAME}"
        },
        {
            "Sid": "AEP List Bucket Prod",
            "Effect": "Allow",
            "Principal": {
                "AWS": "{IAM_ROLE_TO_ALLOW_LIST}"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::{YOUR_BUCKET_NAME}"
        }
    ]
}

Erstellen einer Basisverbindung für Amazon S3 auf Experience Platform in AWS

API-Format

POST /connections

Anfrage

Die folgende Anfrage erstellt eine Basisverbindung für Amazon S3:

Beispiel auswählen, um es anzuzeigen
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Amazon S3 base connection for Experience Platform on AWS",
      "description": "Amazon S3 base connection for Experience Platform on AWS",
      "auth": {
          "specName": "IAMRole Based",
          "params": {
              "bucketName": "{YOUR_BUCKET_NAME}"
          }
      },
      "connectionSpec": {
          "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2
Eigenschaft Beschreibung
auth.params.bucketName Der Name Ihres Amazon S3. Dies ist derselbe Wert, der im vorherigen Schritt zu Berechtigungen hinzugefügt wurde.

Antwort

Eine erfolgreiche Antwort gibt Details der neu erstellten Verbindung zurück, einschließlich ihrer eindeutigen Kennung (id). Diese ID ist erforderlich, um Ihren -Speicher im nächsten Tutorial zu untersuchen.

Beispiel auswählen, um es anzuzeigen
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

Nächste Schritte

In diesem Tutorial haben Sie eine S3-Verbindung mithilfe von APIs erstellt und eine eindeutige ID als Teil der Antwort erhalten. Sie können diese Verbindungs-ID verwenden, um Cloud-Speicher mithilfe der Flow Service-API zu.

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089