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 d’Adobe Experience Platform, ainsi que les paramètres de communication entre Platform et la destination. Par exemple :
- Une spécification du serveur de destination de diffusion en streaming définit le point d’entrée du serveur HTTP qui recevra les messages HTTP de 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 et chemin S3 où 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 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 de 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.
templatingStrategy
Obligatoire. 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}}"
.
value
Obligatoire. 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,templatingStrategy
doit 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,templatingStrategy
doit 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
Quand les utilisateurs se connectent à la destination dans l’interface utilisateur de 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 Platform, comme illustré dans l’image ci-dessous.
Connexion à la destination avec entrée utilisateur
Quand la connexion entre Platform et la destination doit être établie à la suite d’une entrée utilisateur spécifique dans l’interface utilisateur de Platform, comme la sélection d’un point d’entrée de l’API ou la spécification 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 de 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}"
}
}
}
name
Moviestar destination server
.destinationServerType
URL_BASED
pour les destinations de diffusion en streaming.templatingStrategy
Obligatoire.
- Utilisez
PEBBLE_V1
si 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 zone géographique du point d’entrée dans l’interface utilisateur de Platform. - Utilisez
NONE
si 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
value
Serveur 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}}"
}
}
}
name
destinationServerType
FILE_BASED_S3
.fileBasedS3Destination.bucket.templatingStrategy
Obligatoire. 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 champvalue
pour 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.templatingStrategy
Obligatoire. 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.value
pour 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"
}
}
name
destinationServerType
FILE_BASED_SFTP
.fileBasedSFTPDestination.rootDirectory.templatingStrategy
Obligatoire. 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.value
pour 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.templatingStrategy
Obligatoire. 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.value
pour 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"
.port
encryptionMode
Indique 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}}"
}
}
}
name
destinationServerType
FILE_BASED_ADLS_GEN2
.fileBasedAdlsGen2Destination.path.templatingStrategy
Obligatoire. 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.value
pour 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.value
abfs://<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}}"
}
}
}
name
destinationServerType
FILE_BASED_AZURE_BLOB
.fileBasedAzureBlobDestination.path.templatingStrategy
Obligatoire. 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.value
pour 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.value
https://myaccount.blob.core.windows.net/
.fileBasedAzureBlobDestination.container.templatingStrategy
Obligatoire. 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.value
pour 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.value
myContainer
.Serveur de destination Data Landing Zone (DLZ) dlz-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données de 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"
}
}
name
destinationServerType
FILE_BASED_DLZ
.fileBasedDlzDestination.path.templatingStrategy
Obligatoire. 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.value
pour 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.value
Serveur de destination Google Cloud Storage gcs-example
Ce serveur de destination vous permet d’exporter des fichiers contenant des données de 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}}"
}
}
}
name
destinationServerType
FILE_BASED_GOOGLE_CLOUD
.fileBasedGoogleCloudStorageDestination.bucket.templatingStrategy
Obligatoire. 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.value
pour 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.templatingStrategy
Obligatoire. 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.value
pour 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 :