使用Flow Service API创建SFTP基本连接

基本连接表示源和Adobe Experience Platform之间的已验证连接。

本教程将指导您完成使用Flow Service API为SFTP(安全文件传输协议)创建基本连接的步骤。

快速入门

本指南要求您对 Adobe Experience Platform 的以下组件有一定了解:

  • :Experience Platform允许从各种源摄取数据,同时允许您使用Platform服务来构建、标记和增强传入数据。
  • 沙盒:Experience Platform提供了将单个Platform实例划分为多个单独的虚拟环境的虚拟沙盒,以帮助开发和改进数字体验应用程序。
IMPORTANT
建议在摄取具有SFTP源连接的JSON对象时避免换行符或回车符。 要解决此限制,请每行使用一个JSON对象,并使用多行来生成文件。

以下部分提供使用Flow Service API成功连接到SFTP服务器所需了解的其他信息。

收集所需的凭据

为了使Flow Service连接到SFTP,您必须提供以下连接属性的值:

凭据
描述
host
与您的SFTP服务器关联的名称或IP地址。
port
您连接到的SFTP服务器端口。 如果未提供,则值默认为22
username
有权访问您的SFTP服务器的用户名。
password
SFTP服务器的密码。
privateKeyContent
Base64编码的SSH私钥内容。 OpenSSH密钥类型必须分类为RSA或DSA。
passPhrase
如果密钥文件或密钥内容受密码词组保护,则使用密码词组或密码解密私钥。 如果privateKeyContent受密码保护,则此参数需要与私钥内容的密码短语一起使用,作为值。
maxConcurrentConnections
此参数允许您指定在连接到SFTP服务器时,平台将创建的并发连接数的最大限制。 必须将此值设置为小于SFTP设置的限制。 注意:为现有SFTP帐户启用此设置时,它只影响未来的数据流,而不影响现有的数据流。
folderPath
要提供访问权限的文件夹的路径。 SFTP源,您可以提供文件夹路径,以指定用户对您选择的子文件夹的访问权限。
connectionSpec.id
连接规范返回源的连接器属性,包括与创建基础连接和源连接相关的验证规范。 SFTP的连接规范ID为: b7bf2577-4520-42c9-bae9-cad01560f7bc

使用平台API

有关如何成功调用平台API的信息,请参阅平台API快速入门指南。

创建基本连接

TIP
创建后,无法更改SFTP基本连接的身份验证类型。 要更改身份验证类型,必须创建新的基本连接。

基本连接会保留您的源和平台之间的信息,包括源的身份验证凭据、连接的当前状态以及唯一的基本连接ID。 基本连接ID允许您浏览和浏览源中的文件,并标识要摄取的特定项目,包括有关其数据类型和格式的信息。

SFTP源支持基本身份验证和通过SSH公钥的身份验证。 在此步骤中,您还可以指定要提供访问权限的子文件夹的路径。

要创建基本连接ID,请在提供SFTP身份验证凭据作为POST参数的一部分时,向/connections端点请求请求。

IMPORTANT
SFTP连接器支持RSA或DSA类型的OpenSSH密钥。 确保您的密钥文件内容以"-----BEGIN [RSA/DSA] PRIVATE KEY-----"开头并以"-----END [RSA/DSA] PRIVATE KEY-----"结尾。 如果私钥文件是PPK格式文件,请使用PuTTY工具从PPK转换为OpenSSH格式。

API格式

POST /connections
基本身份验证
accordion
请求
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": "SFTP connector with password",
      "description": "SFTP connector password",
      "auth": {
          "specName": "Basic Authentication for sftp",
          "params": {
              "host": "{HOST}",
              "port": 22,
              "userName": "{USERNAME}",
              "password": "{PASSWORD}",
              "maxConcurrentConnections": 5,
              "folderPath": "acme/business/customers/holidaySales"
          }
      },
      "connectionSpec": {
          "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
属性 描述
auth.params.host SFTP服务器的主机名。
auth.params.port SFTP服务器的端口。 此整数值默认为22。
auth.params.username 与您的SFTP服务器关联的用户名。
auth.params.password 与您的SFTP服务器关联的密码。
auth.params.maxConcurrentConnections 在将Platform连接到SFTP时指定的最大并发连接数。 启用时,该值必须设置为至少1。
auth.params.folderPath 要提供访问权限的文件夹的路径。
connectionSpec.id SFTP服务器连接规范ID: b7bf2577-4520-42c9-bae9-cad01560f7bc
accordion
响应

成功的响应返回新创建连接的唯一标识符(id)。 请在下一教程中探究您的SFTP服务器时,需要此ID。

code language-json
{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}
SSH公钥身份验证
accordion
请求
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": "SFTP connector with SSH authentication",
      "description": "SFTP connector with SSH authentication",
      "auth": {
          "specName": "SSH PublicKey Authentication for sftp",
          "params": {
              "host": "{HOST}",
              "port": 22,
              "userName": "{USERNAME}",
              "privateKeyContent": "{PRIVATE_KEY_CONTENT}",
              "passPhrase": "{PASSPHRASE}",
              "maxConcurrentConnections": 5,
              "folderPath": "acme/business/customers/holidaySales"
          }
      },
      "connectionSpec": {
          "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2
属性 描述
auth.params.host SFTP服务器的主机名。
auth.params.port SFTP服务器的端口。 此整数值默认为22。
auth.params.username 与您的SFTP服务器关联的用户名。
auth.params.privateKeyContent Base64编码的SSH私钥内容。 OpenSSH密钥类型必须分类为RSA或DSA。
auth.params.passPhrase 如果密钥文件或密钥内容受密码词组保护,则使用密码词组或密码解密私钥。 如果PrivateKeyContent受密码保护,则此参数需要与PrivateKeyContent的密码短语(值)一起使用。
auth.params.maxConcurrentConnections 在将Platform连接到SFTP时指定的最大并发连接数。 启用时,该值必须设置为至少1。
auth.params.folderPath 要提供访问权限的文件夹的路径。
connectionSpec.id SFTP服务器连接规范ID: b7bf2577-4520-42c9-bae9-cad01560f7bc
accordion
响应

成功的响应返回新创建连接的唯一标识符(id)。 请在下一教程中探究您的SFTP服务器时,需要此ID。

code language-json
{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}

后续步骤

通过完成本教程,您已使用Flow Service API创建了SFTP连接,并获得了此连接的唯一ID值。 您可以使用此连接ID以使用流服务API🔗来浏览云存储。

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