Show Menu
主题×

使用Flow Service API创建Amazon Redshift连接器

Amazon Redshift连接器为测试版。 功能和文档可能会发生更改。
Flow Service用于在Adobe Experience Platform内收集和集中来自不同来源的客户数据。 该服务提供用户界面和RESTful API,所有支持的源都可从中连接。
本教程使用Flow Service API指导您完成将Experience Platform连接到Amazon Redshift的步骤(以下简称“Redshift”)。

入门指南

本指南需要对Adobe Experience Platform的以下组件有充分的了解:
  • 来源 : Experience Platform允许从各种来源摄取数据,同时使您能够使用平台服务来构建、标记和增强传入数据。
  • 沙箱 : Experience Platform提供虚拟沙箱,将单个Platform实例分为单独的虚拟环境,以帮助开发和改进数字体验应用程序。
以下各节提供您需要了解的其他信息,以便使用流服务API成功连接到Redshift。

收集所需的凭据

为了使流服务与Redshift连接,您必须提供以下连接属性:
凭据
描述
server
与您的Redshift帐户关联的服务器。
username
与您的Redshift帐户关联的用户名。
password
与您的Redshift帐户关联的密码。
database
您正在访问的Redshift数据库。
有关入门的详细信息,请参 阅此Redshift文档

读取示例API调用

本教程提供示例API调用,以演示如何设置请求的格式。 这包括路径、必需的标头和格式正确的请求负载。 还提供API响应中返回的示例JSON。 有关示例API调用文档中使用的惯例的信息,请参阅Experience Platform疑 难解答指南中有关如何阅读示例API调 用的部分。

收集所需标题的值

要调用平台API,您必须先完成身份验证 教程 。 完成身份验证教程后,将提供所有Experience Platform API调用中每个所需标头的值,如下所示:
  • 授权: 承载者 {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
Experience Platform中的所有资源(包括属于流服务的资源)都与特定虚拟沙箱隔离。 对平台API的所有请求都需要一个标头,它指定操作将在以下位置进行的沙箱的名称:
  • x-sandbox-name: {SANDBOX_NAME}
所有包含有效负荷(POST、PUT、PATCH)的请求都需要额外的媒体类型标头:
  • 内容类型: application/json

查找连接规范

要创建Redshift连接,流服务中必须存在一组Redshift连接规范。 连接Platform和Redshift的第一步是检索这些规范。
API格式
每个可用源都有其自己的唯一连接规范集,用于描述连接器属性,如身份验证要求。 您可以通过执行GET请求和使用查询参数来查找Redshift的连接规范。
发送不带查询参数的GET请求将返回所有可用源的连接规范。 您可以包含查询 property=name=="amazon-redshift" 以获取Redshift专用信息。
GET /connectionSpecs
GET /connectionSpecs?property=name=="amazon-redshift"

请求
以下请求检索Redshift的连接规范。
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="amazon-redshift"' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

响应
成功的响应会返回Redshift的连接规范,包括其唯一标识符( id )。 下一步需要此ID才能创建基本连接。
{
    "items": [
        {
            "id": "3416976c-a9ca-4bba-901a-1f08f66978ff",
            "name": "amazon-redshift",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Basic Authentication",
                    "type": "Basic_Authentication",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params",
                        "properties": {
                            "server": {
                                "type": "string",
                                "description": "IP address or host name of the Amazon Redshift server"
                            },
                            "username": {
                                "type": "string",
                                "description": "Name of user who has access to the database"
                            },
                            "password": {
                                "type": "string",
                                "description": "Password for the user account",
                                "format": "password"
                            },
                            "database": {
                                "type": "string",
                                "description": "Name of the Amazon Redshift database"
                            }
                        },
                        "required": [
                            "server",
                            "username",
                            "password",
                            "database"
                        ]
                    }
                }
            ]
        }
    ]
}

创建基本连接

基本连接指定源并包含该源的凭据。 每个Redshift帐户只需要一个基本连接,因为它可用于创建多个源连接器以引入不同的数据。
API格式
POST /connections

请求
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: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "amazon-redshift base connection",
        "description": "base connection for amazon-redshift,
        "auth": {
            "specName": "Basic Authentication",
            "params": {
                "server": "{SERVER}",
                "database": "{DATABASE}",
                "password": "{PASSWORD}",
                "username": "{USERNAME}"
            }
        },
        "connectionSpec": {
            "id": "3416976c-a9ca-4bba-901a-1f08f66978ff",
            "version": "1.0"
        }
    }'

属性
描述
auth.params.server
您的Redshift服务器。
auth.params.database
与您的Redshift帐户关联的数据库。
auth.params.password
与您的Redshift帐户关联的密码。
auth.params.username
与您的Redshift帐户关联的用户名。
connectionSpec.id
在上一步 id 中检索的Redshift帐户的连接规范。
响应
成功的响应会返回新创建的基本连接的详细信息,包括其唯一标识符( id )。 在下一个教程中浏览数据时需要此ID。
{
    "id": "373e88fc-43da-4e3c-be88-fc43da3e3c0f",
    "etag": "\"1700ce7b-0000-0200-0000-5e3b405e0000\""
}

后续步骤

通过本教程,您已使用Flow Service API创建了Redshift基连接,并获得了该连接的唯一ID值。 在下一个教程中,您可以使用此基本连接ID,因为您将学习 如何使用流服务API浏览数据库或NoSQL系统