Spécifications de serveur pour les destinations créées avec Destination SDK
Les spécifications du serveur de destination définissent le type de plateforme de destination qui recevra les données de Adobe Experience Platform, ainsi que les paramètres de communication entre Experience Platform et la destination. Par exemple :
- Une spécification du serveur de destination streaming définit le point d’entrée du serveur HTTP qui recevra les messages HTTP d’Experience Platform. Pour savoir comment configurer les appels HTTP au point d’entrée, consultez la page Spécifications du modèle.
- Une spécification du serveur de destination Amazon S3 définit le nom du compartiment S3 et le chemin d’accès où Experience Platform exportera les fichiers.
- Une spécification du serveur de destination SFTP définit le nom d’hôte, le répertoire racine, le port de communication et le type de chiffrement du serveur SFTP sur lequel Experience Platform exportera les fichiers.
Pour comprendre la place de ce composant dans une intégration créée avec Destination SDK, consultez le diagramme de la documentation Options de configuration ou consultez les pages de vue d’ensemble de la configuration de destination suivantes :
Vous pouvez configurer les spécifications du serveur de destination via le point d’entrée /authoring/destination-servers. Pour obtenir des exemples d’appels API détaillés dans lesquels vous pouvez configurer les composants affichés sur cette page, consultez les pages de référence de l’API suivantes.
Cette page montre tous les types de serveurs de destination pris en charge par Destination SDK, avec tous leurs paramètres de configuration. Pendant la création de la destination, remplacez les valeurs de paramètre par les vôtres.
Types d’intégration pris en charge supported-integration-types
Pour en savoir plus sur les types d’intégration qui prennent en charge les fonctionnalités décrites sur cette page, consultez le tableau ci-dessous.
Pendant la création ou la mise à jour d’un serveur de destination, utilisez l’une des configurations de type de serveur décrites sur cette page. En fonction des exigences de votre intégration, veillez à remplacer les exemples de valeurs de paramètre de ces exemples par les vôtres.
Champs codés en dur ou modélisés templatized-fields
Pendant la création d’un serveur de destination avec Destination SDK, vous pouvez définir des valeurs de paramètre de configuration en les codant en dur dans la configuration ou en utilisant des champs modélisés. Les champs modélisés vous permettent de lire les valeurs fournies par l’utilisateur à partir de l’interface utilisateur d’Experience Platform.
Les paramètres du serveur de destination comportent deux champs configurables. Ces options indiquent si vous utilisez des valeurs codées en dur ou modélisées.
templatingStrategyObligatoire. Définit s’il existe une valeur codée en dur fournie via le champ value ou une valeur configurable par l’utilisateur dans l’interface utilisateur. Valeurs prises en charge :
NONE: utilisez cette valeur quand vous codez en dur la valeur du paramètre via le paramètrevalue(voir la ligne suivante). Exemple :"value": "my-storage-bucket".PEBBLE_V1: utilisez cette valeur quand vous souhaitez que vos utilisateurs fournissent une valeur de paramètre dans l’interface utilisateur. Exemple :"value": "{{customerData.bucket}}".
valueObligatoire. Définit la valeur du paramètre. Types de valeur pris en charge :
- Valeur codée en dur : utilisez une valeur codée en dur (telle que
"value": "my-storage-bucket") quand vous n’avez pas besoin que les utilisateurs saisissent une valeur de paramètre dans l’interface utilisateur. Quand vous codez une valeur en dur,templatingStrategydoit toujours être définie surNONE. - Valeur modélisée : utilisez une valeur modélisée (telle que
"value": "{{customerData.bucket}}") quand vous souhaitez que vos utilisateurs fournissent une valeur de paramètre dans l’interface utilisateur. Pendant l’utilisation de valeurs modélisées,templatingStrategydoit toujours être définie surPEBBLE_V1.
Quand préférer les champs codés en dur aux champs modélisés ?
Les champs codés en dur et modélisés ont chacun leur propre utilité dans Destination SDK, selon le type d’intégration que vous créez.
Connexion à la destination sans entrée utilisateur
Lorsque les utilisateurs se connectent à la destination dans l’interface utilisateur d’Experience Platform, vous pouvez gérer le processus de connexion de destination sans qu’ils aient à intervenir.
Pour ce faire, vous pouvez coder en dur les paramètres de connexion de la plateforme de destination dans la spécification du serveur. Quand vous utilisez des valeurs de paramètre codées en dur dans la configuration de votre serveur de destination, la connexion entre Adobe Experience Platform et votre plateforme de destination est gérée sans que l’utilisateur ait à intervenir.
Dans l’exemple ci-dessous, un partenaire crée un serveur de destination de zone d’entrée de données avec le fichier path.value codé en dur.
{
"name":"Data Landing Zone destination server",
"destinationServerType":"FILE_BASED_DLZ",
"fileBasedDlzDestination":{
"path":{
"templatingStrategy":"NONE",
"value":"Your/hardcoded/path/here"
},
"useCase": "Your use case"
}
}
Ainsi, quand les utilisateurs consultent le tutoriel de connexion à la destination, ils ne verront pas l’étape d’authentification. Au lieu de cela, l’authentification est gérée par Experience Platform, comme illustré dans l’image ci-dessous.
Connexion à la destination avec entrée utilisateur
Lorsque la connexion entre Experience Platform et la destination doit être établie à la suite d’une entrée utilisateur spécifique dans l’interface utilisateur d’Experience Platform, telle que la sélection d’un point d’entrée de l’API ou la fourniture d’une valeur de champ, vous pouvez utiliser des champs modélisés dans la spécification du serveur pour lire la saisie utilisateur et vous connecter à votre plateforme de destination.
Dans l’exemple ci-dessous, un partenaire crée une intégration en temps réel (streaming) et le champ url.value utilise le paramètre modélisé {{customerData.region}} pour personnaliser une partie du point d’entrée de l’API en fonction de l’entrée utilisateur.
{
"name":"Templatized API endpoint example",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"https://api.yourcompany.com/data/{{customerData.region}}/items"
}
}
}
Pour permettre aux utilisateurs de sélectionner une valeur dans l’interface utilisateur d’Experience Platform, le paramètre region doit également être défini dans la configuration de destination en tant que champ de données client, comme illustré ci-dessous :
"customerDataFields":[
{
"name":"region",
"title":"Region",
"description":"Select an option",
"type":"string",
"isRequired":true,
"readOnly":false,
"enum":[
"US",
"EU"
]
}
Ainsi, quand les utilisateurs consultent le tutoriel de connexion à la destination, ils doivent sélectionner une zone géographique avant de pouvoir se connecter à la plateforme de destination. Quand ils se connectent à la destination, le champ modélisé {{customerData.region}} est remplacé par la valeur sélectionnée par l’utilisateur dans l’interface utilisateur, comme illustré dans l’image ci-dessous.
Serveur de destination en temps réel (streaming) streaming-example
Ce type de serveur de destination vous permet d’exporter des données d’Adobe Experience Platform vers la destination via des requêtes HTTP. La configuration de serveur contient des informations sur le serveur recevant les messages (le serveur de votre côté).
Ce processus fournit des données utilisateur sous forme d’une série de messages HTTP vers votre plateforme de destination. Les paramètres ci-dessous forment le modèle de spécifications du serveur HTTP.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination en temps réel (streaming).
{
"name":"Your destination server name",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"{YOUR_API_ENDPOINT}"
}
}
}
nameMoviestar destination server.destinationServerTypeURL_BASED pour les destinations de diffusion en streaming.templatingStrategyObligatoire.
- Utilisez
PEBBLE_V1si vous utilisez un champ modélisé au lieu d’une valeur codée en dur dans le champvalue. Utilisez cette option si vous disposez d’un point d’entrée du typehttps://api.moviestar.com/data/{{customerData.region}}/items, où les utilisateurs doivent sélectionner la région du point d’entrée dans l’interface utilisateur d’Experience Platform. - Utilisez
NONEsi aucune transformation de modèle n’est nécessaire du côté d’Adobe, par exemple si vous avez un point d’entrée, tel quehttps://api.moviestar.com/data/items
valueServeur de destination Amazon S3 s3-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données Adobe Experience Platform vers votre enregistrement Amazon S3.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination Amazon S3.
{
"name":"Amazon S3 destination",
"destinationServerType":"FILE_BASED_S3",
"fileBasedS3Destination":{
"bucket":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.bucket}}"
},
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
}
}
namedestinationServerTypeFILE_BASED_S3.fileBasedS3Destination.bucket.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ bucket.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre nom de compartiment dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champvaluepour lire une valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un nom de compartiment codé en dur pour votre intégration, tel que
"bucket.value":"MyBucket", définissez cette valeur surNONE.
fileBasedS3Destination.bucket.value"value":"MyBucket".fileBasedS3Destination.path.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ path.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre chemin dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champpath.valuepour lire une valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un chemin d’accès codé en dur pour votre intégration, tel que
"bucket.value":"/path/to/MyBucket", définissez cette valeur surNONE.
fileBasedS3Destination.path.value"value":"/path/to/MyBucket".Serveur de destination SFTP sftp-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données Adobe Experience Platform vers votre serveur de stockage SFTP.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination SFTP.
{
"name":"File-based SFTP destination server",
"destinationServerType":"FILE_BASED_SFTP",
"fileBasedSFTPDestination":{
"rootDirectory":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.rootDirectory}}"
},
"hostName":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.hostName}}"
},
"port":22,
"encryptionMode":"PGP"
}
}
namedestinationServerTypeFILE_BASED_SFTP.fileBasedSFTPDestination.rootDirectory.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ rootDirectory.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre chemin d’accès au répertoire racine dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champrootDirectory.valuepour lire une valeur fournie par l’utilisateur à partir des champs de données client renseigné. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un chemin d’accès au répertoire racine codé en dur pour votre intégration, tel que
"rootDirectory.value":"Storage/MyDirectory", définissez cette valeur surNONE.
fileBasedSFTPDestination.rootDirectory.value"value":"Storage/MyDirectory"fileBasedSFTPDestination.hostName.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ hostName.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre nom d’hôte dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champhostName.valuepour lire une valeur fournie par l’utilisateur à partir des champs de données client renseigné. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un nom d’hôte codé en dur pour votre intégration, tel que
"hostName.value":"my.hostname.com", définissez cette valeur surNONE.
fileBasedSFTPDestination.hostName.value"hostName.value":"my.hostname.com".portencryptionModeIndique s’il faut utiliser le chiffrement de fichier. Valeurs prises en charge :
- PGP
- Aucun
Serveur de destination Azure Data Lake Storage (ADLS) adls-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données Adobe Experience Platform vers votre compte Azure Data Lake Storage.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination Azure Data Lake Storage.
{
"name":"ADLS destination server",
"destinationServerType":"FILE_BASED_ADLS_GEN2",
"fileBasedAdlsGen2Destination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
}
}
namedestinationServerTypeFILE_BASED_ADLS_GEN2.fileBasedAdlsGen2Destination.path.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ path.value.
- Si vous souhaitez que vos utilisateurs saisissent leur chemin d’accès au dossier ADLS dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champpath.valuepour lire une valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un chemin d’accès codé en dur pour votre intégration, tel que
"abfs://<file_system>@<account_name>.dfs.core.windows.net/<path>/", définissez cette valeur surNONE.
fileBasedAdlsGen2Destination.path.valueabfs://<file_system>@<account_name>.dfs.core.windows.net/<path>/.Serveur de destination Azure Blob Storage blob-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données Adobe Experience Platform vers votre conteneur Azure Blob Storage.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination Azure Blob Storage.
{
"name":"Blob destination server",
"destinationServerType":"FILE_BASED_AZURE_BLOB",
"fileBasedAzureBlobDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"container":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.container}}"
}
}
}
namedestinationServerTypeFILE_BASED_AZURE_BLOB.fileBasedAzureBlobDestination.path.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ path.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre URI de compte de stockage Azure Blob dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champpath.valuepour lire la valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un chemin d’accès codé en dur pour votre intégration, tel que
"path.value": "https://myaccount.blob.core.windows.net/", définissez cette valeur surNONE.
fileBasedAzureBlobDestination.path.valuehttps://myaccount.blob.core.windows.net/.fileBasedAzureBlobDestination.container.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ container.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre nom de conteneur Azure Blob dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champcontainer.valuepour lire la valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un nom de conteneur codé en dur pour votre intégration, tel que
"path.value: myContainer", définissez cette valeur surNONE.
fileBasedAzureBlobDestination.container.valuemyContainer.Serveur de destination Data Landing Zone (DLZ) dlz-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données Experience Platform vers un espace de stockage Data Landing Zone.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination Data Landing Zone (DLZ).
{
"name":"Data Landing Zone destination server",
"destinationServerType":"FILE_BASED_DLZ",
"fileBasedDlzDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"useCase": "Your use case"
}
}
namedestinationServerTypeFILE_BASED_DLZ.fileBasedDlzDestination.path.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ path.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre compte Data Landing Zone dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champpath.valuepour lire une valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un chemin d’accès codé en dur pour votre intégration, tel que
"path.value": "https://myaccount.blob.core.windows.net/", définissez cette valeur surNONE.
fileBasedDlzDestination.path.valueServeur de destination Google Cloud Storage gcs-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données Experience Platform vers votre compte Google Cloud Storage.
L’exemple ci-dessous montre un modèle de configuration de serveur de destination pour une destination Google Cloud Storage.
{
"name":"Google Cloud Storage Server",
"destinationServerType":"FILE_BASED_GOOGLE_CLOUD",
"fileBasedGoogleCloudStorageDestination":{
"bucket":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.bucket}}"
},
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
}
}
namedestinationServerTypeFILE_BASED_GOOGLE_CLOUD.fileBasedGoogleCloudStorageDestination.bucket.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ bucket.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre nom de compartiment Google Cloud Storage dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champbucket.valuepour lire une valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un nom de compartiment codé en dur pour votre intégration, tel que
"bucket.value": "my-bucket", définissez cette valeur surNONE.
fileBasedGoogleCloudStorageDestination.bucket.value"value": "my-bucket".fileBasedGoogleCloudStorageDestination.path.templatingStrategyObligatoire. Définissez cette valeur en fonction du type de valeur utilisé dans le champ path.value.
- Si vous souhaitez que vos utilisateurs saisissent leur propre chemin d’accès au compartiment Google Cloud Storage dans l’interface utilisateur d’Experience Platform, définissez cette valeur sur
PEBBLE_V1. Dans ce cas, vous devez modéliser le champpath.valuepour lire une valeur des champs de données client renseignés par l’utilisateur. Ce cas d’utilisation est illustré dans l’exemple ci-dessus. - Si vous utilisez un chemin d’accès codé en dur pour votre intégration, tel que
"path.value": "/path/to/my-bucket", définissez cette valeur surNONE.
fileBasedGoogleCloudStorageDestination.path.value"value": "/path/to/my-bucket".Étapes suivantes next-steps
Vous êtes arrivé au bout de cet article. À présent, vous devriez mieux comprendre la spécification d’un serveur de destination et comment le configurer.
Pour en savoir plus sur les autres composants de serveur de destination, consultez les articles suivants :