使用Destination SDK创建的目标的服务器规范
目标服务器规范定义将从Adobe Experience Platform接收数据的目标平台的类型,以及平台与您的目标之间的通信参数。 例如:
要了解此组件在何处适合使用Destination SDK创建的集成,请参阅配置选项文档中的关系图或查看以下目标配置概述页面:
您可以通过/authoring/destination-servers
端点配置目标服务器规范。 有关详细的API调用示例,请参阅以下API参考页面,您可以在其中配置此页面中显示的组件。
此页显示Destination SDK支持的所有目标服务器类型及其所有配置参数。 在创建目标时,请将参数值替换为您自己的参数值。
支持的集成类型 supported-integration-types
有关哪些类型的集成支持此页面上描述的功能,请参阅下表。
当创建或更新目标服务器时,请使用本页中描述的服务器类型配置之一。 根据您的集成要求,请确保将这些示例中的示例参数值替换为您自己的示例参数值。
硬编码字段与模板化字段 templatized-fields
通过Destination SDK创建目标服务器时,您可以通过将配置参数硬编码到配置中或使用模板化字段来定义配置参数值。 利用模板化的字段,可从Platform UI读取用户提供的值。
目标服务器参数有两个可配置的字段。 这些选项指示您使用的是硬编码值还是模板化值。
templatingStrategy
必填。 定义是通过value
字段提供的硬编码值,还是UI中的用户可配置值。 支持的值:
NONE
:当您通过value
参数硬编码参数值时(请参阅下一行),使用此值。 示例:"value": "my-storage-bucket"
。PEBBLE_V1
:当您希望您的用户在用户界面中提供参数值时,请使用此值。 示例:"value": "{{customerData.bucket}}"
。
value
必需。 定义参数值。 支持的值类型:
- 硬编码值:如果不需要用户在UI中输入参数值,请使用硬编码值(如
"value": "my-storage-bucket"
)。 在对值硬编码时,templatingStrategy
应始终设置为NONE
。 - 模板化值:当您希望您的用户在用户界面中提供参数值时,请使用模板化值(如
"value": "{{customerData.bucket}}"
)。 使用模板化值时,templatingStrategy
应始终设置为PEBBLE_V1
。
何时使用硬编码字段与模板化字段
根据要创建的集成类型,硬编码字段和模板化字段在Destination SDK中具有各自的用途。
无需用户输入即可连接到目标
当用户在Platform UI中连接到您的目标时,您可能希望在没有用户输入的情况下处理目标连接进程。
为此,您可以在服务器规范中对目标平台连接参数进行硬编码。 在目标服务器配置中使用硬编码参数值时,无需用户输入即可处理Adobe Experience Platform与目标平台之间的连接。
在下面的示例中,合作伙伴创建了一个数据登录区目标服务器,该服务器对path.value
字段进行了硬编码。
{
"name":"Data Landing Zone destination server",
"destinationServerType":"FILE_BASED_DLZ",
"fileBasedDlzDestination":{
"path":{
"templatingStrategy":"NONE",
"value":"Your/hardcoded/path/here"
},
"useCase": "Your use case"
}
}
因此,当用户完成目标连接教程时,不会看到身份验证步骤。 相反,身份验证由Platform处理,如下图所示。
使用用户输入连接到您的目标
当在Platform UI中根据特定用户输入(例如选择API端点或提供字段值)建立Platform与您的目标之间的连接时,您可以使用服务器规范中的模板化字段读取用户输入并连接到您的目标平台。
在以下示例中,合作伙伴创建了实时(流)集成,并且url.value
字段使用模板化参数{{customerData.region}}
根据用户输入对API端点的一部分进行个性化。
{
"name":"Templatized API endpoint example",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"https://api.yourcompany.com/data/{{customerData.region}}/items"
}
}
}
要使用户能够从Platform UI中选择值,还必须在目标配置中将region
参数定义为客户数据字段,如下所示:
"customerDataFields":[
{
"name":"region",
"title":"Region",
"description":"Select an option",
"type":"string",
"isRequired":true,
"readOnly":false,
"enum":[
"US",
"EU"
]
}
因此,当用户阅读目标连接教程时,必须先选择一个区域,然后才能连接到目标平台。 当他们连接到目标时,模板化字段{{customerData.region}}
被替换为用户在UI中选择的值,如下图所示。
实时(流)目标服务器 streaming-example
使用此目标服务器类型,您可以通过HTTP请求将数据从Adobe Experience Platform导出到您的目标。 服务器配置包含有关接收消息的服务器(您侧的服务器)的信息。
此过程会将用户数据作为一系列HTTP消息传送到您的目标平台。 以下参数构成了HTTP服务器规格模板。
以下示例显示了实时(流)目标的目标服务器配置示例。
{
"name":"Your destination server name",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"{YOUR_API_ENDPOINT}"
}
}
}
name
Moviestar destination server
。destinationServerType
URL_BASED
。templatingStrategy
必需。
- 如果您在
value
字段中使用模板化字段而不是硬编码值,请使用PEBBLE_V1
。 如果您具有如下端点,请使用此选项:https://api.moviestar.com/data/{{customerData.region}}/items
,用户必须从平台UI中选择该端点区域。 - 如果Adobe端不需要模板化转换,例如,如果您具有如下端点,则使用
NONE
:https://api.moviestar.com/data/items
value
Amazon S3目标服务器 s3-example
使用此目标服务器,您可以将包含Adobe Experience Platform数据的文件导出到Amazon S3存储空间。
以下示例显示了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
必需。 根据bucket.value
字段中使用的值类型设置此值。
- 如果希望用户在Experience PlatformUI中输入自己的存储段名称,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对value
字段进行模板化,以从用户填写的客户数据字段中读取值。 上述示例中显示了此用例。 - 如果您对集成使用硬编码存储段名称,如
"bucket.value":"MyBucket"
,则将此值设置为NONE
。
fileBasedS3Destination.bucket.value
"value":"MyBucket"
。fileBasedS3Destination.path.templatingStrategy
必需。 根据path.value
字段中使用的值类型设置此值。
- 如果您希望用户在Experience PlatformUI中输入自己的路径,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对path.value
字段进行模板化,以从用户填写的客户数据字段中读取值。 上述示例中显示了此用例。 - 如果您正在使用硬编码路径进行集成,如
"bucket.value":"/path/to/MyBucket"
,则将此值设置为NONE
。
fileBasedS3Destination.path.value
"value":"/path/to/MyBucket"
。SFTP目标服务器 sftp-example
此目标服务器允许您将包含Adobe Experience Platform数据的文件导出到SFTP存储服务器。
以下示例显示了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
必需。 根据rootDirectory.value
字段中使用的值类型设置此值。
- 如果希望用户在Experience PlatformUI中输入自己的根目录路径,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对rootDirectory.value
字段进行模板化,以从用户填写的客户数据字段中读取用户提供的值。 上述示例中显示了此用例。 - 如果您正在使用硬编码的根目录路径进行集成,如
"rootDirectory.value":"Storage/MyDirectory"
,则将此值设置为NONE
。
fileBasedSFTPDestination.rootDirectory.value
"value":"Storage/MyDirectory"
fileBasedSFTPDestination.hostName.templatingStrategy
必需。 根据hostName.value
字段中使用的值类型设置此值。
- 如果希望用户在Experience PlatformUI中输入他们自己的主机名,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对hostName.value
字段进行模板化,以从用户填写的客户数据字段中读取用户提供的值。 上述示例中显示了此用例。 - 如果您正在使用硬编码的主机名进行集成,如
"hostName.value":"my.hostname.com"
,则将此值设置为NONE
。
fileBasedSFTPDestination.hostName.value
"hostName.value":"my.hostname.com"
。port
encryptionMode
指示是否使用文件加密。 支持的值:
- PGP
- None
Azure Data Lake Storage (ADLS)目标服务器 adls-example
此目标服务器允许您将包含Adobe Experience Platform数据的文件导出到您的Azure Data Lake Storage帐户。
以下示例显示了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
必需。 根据path.value
字段中使用的值类型设置此值。
- 如果您希望用户在Experience PlatformUI中输入其ADLS文件夹路径,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对path.value
字段进行模板化,以从用户填写的客户数据字段中读取值。 上述示例中显示了此用例。 - 如果您正在使用硬编码路径进行集成,如
"abfs://<file_system>@<account_name>.dfs.core.windows.net/<path>/"
,则将此值设置为NONE
。
fileBasedAdlsGen2Destination.path.value
abfs://<file_system>@<account_name>.dfs.core.windows.net/<path>/
。Azure Blob Storage目标服务器 blob-example
此目标服务器允许您将包含Adobe Experience Platform数据的文件导出到Azure Blob Storage容器。
以下示例显示了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
fileBasedAzureBlobDestination.path.value
https://myaccount.blob.core.windows.net/
。fileBasedAzureBlobDestination.container.templatingStrategy
fileBasedAzureBlobDestination.container.value
myContainer
。Data Landing Zone (DLZ)目标服务器 dlz-example
此目标服务器允许您将包含Platform数据的文件导出到Data Landing Zone存储。
以下示例显示了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
必需。 根据path.value
字段中使用的值类型设置此值。
- 如果希望用户在Experience PlatformUI中输入自己的Data Landing Zone帐户,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对path.value
字段进行模板化,以从用户填写的客户数据字段中读取值。 上述示例中显示了此用例。 - 如果您正在使用硬编码路径进行集成,如
"path.value": "https://myaccount.blob.core.windows.net/"
,则将此值设置为NONE
。
fileBasedDlzDestination.path.value
Google Cloud Storage目标服务器 gcs-example
此目标服务器允许您将包含Platform数据的文件导出到您的Google Cloud Storage帐户。
以下示例显示了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
必需。 根据bucket.value
字段中使用的值类型设置此值。
- 如果您希望用户在Experience PlatformUI中输入他们自己的Google Cloud Storage存储段名称,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对bucket.value
字段进行模板化,以从用户填写的客户数据字段中读取值。 上述示例中显示了此用例。 - 如果您对集成使用硬编码存储段名称,如
"bucket.value": "my-bucket"
,则将此值设置为NONE
。
fileBasedGoogleCloudStorageDestination.bucket.value
"value": "my-bucket"
。fileBasedGoogleCloudStorageDestination.path.templatingStrategy
必需。 根据path.value
字段中使用的值类型设置此值。
- 如果您希望用户在Experience PlatformUI中输入他们自己的Google Cloud Storage存储段路径,请将此值设置为
PEBBLE_V1
。 在这种情况下,您必须对path.value
字段进行模板化,以从用户填写的客户数据字段中读取值。 上述示例中显示了此用例。 - 如果您正在使用硬编码路径进行集成,如
"path.value": "/path/to/my-bucket"
,则将此值设置为NONE
。
fileBasedGoogleCloudStorageDestination.path.value
"value": "/path/to/my-bucket"
。后续步骤 next-steps
阅读本文后,您应该更好地了解什么是目标服务器规范,以及如何对其进行配置。
要了解有关其他目标服务器组件的更多信息,请参阅以下文章: