Connect MySQL to Experience Platform using the Flow Service API
- Topics:
- Sources
CREATED FOR:
- Developer
Read this guide to learn how to connect your MySQL account to Adobe Experience Platform using the Flow Service API.
Getting started
This guide requires a working understanding of the following components of Adobe Experience Platform:
- Sources: Experience Platform allows data to be ingested from various sources while providing you with the ability to structure, label, and enhance incoming data using Experience Platform services.
- Sandboxes: Experience Platform provides virtual sandboxes which partition a single Experience Platform instance into separate virtual environments to help develop and evolve digital experience applications.
The following sections provide additional information that you will need to know in order to successfully connect to MySQL using the Flow Service API.
Gather required credentials
Read the MySQL overview for information on authentication.
Using Experience Platform APIs
Read the guide on getting started with Experience Platform APIs for information on how to successfully make calls to Experience Platform APIs.
Connect MySQL to Experience Platform on Azure
Read the steps below for information on how to connect your MySQL account to Experience Platform on Azure.
Create a base connection for MySQL on Experience Platform on Azure
A base connection links your source to Experience Platform, storing authentication details, connection status, and a unique ID. Use this ID to browse source files and identify specific items to ingest, including their data types and formats.
API format
POST /connections
To create a base connection ID, make a POST request to the /connections
endpoint and provide your MySQL authentication credentials as part of the request parameters.
Request
The following request creates a base connection for MySQL using connection string based authentication.
View request example
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": "MySQL Base Connection to Experience Platform",
"description": "Via Connection String,
"auth": {
"specName": "Connection String Based Authentication",
"params": {
"connectionString": "Server={SERVER};Port={PORT};Database={DATABASE};UID={USERNAME};PWD={PASSWORD}"
}
},
"connectionSpec": {
"id": "26d738e0-8963-47ea-aadf-c60de735468a",
"version": "1.0"
}
}'
auth.params.connectionString
Server={SERVER};Port={PORT};Database={DATABASE};UID={USERNAME};PWD={PASSWORD}
.connectionSpec.id
26d738e0-8963-47ea-aadf-c60de735468a
.Response
A successful response returns details of the newly created base connection, including its unique identifier (id
).
View response example
{
"id": "1a444165-3439-4c16-8441-653439dc166a",
"etag": "\"5b04c219-0000-0200-0000-5e179c8f0000\""
}
Request
The following request creates a base connection for a MySQL source using basic authentication.
View request example
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": "MySQL Base Connection to Experience Platform",
"description": "Via Basic Authentication",
"auth": {
"specName": "Basic Authentication",
"params": {
"server": "localhost",
"port": "443",
"database": "mysql-acme",
"username": "acme",
"password": "xxxx",
"sslMode": "DISABLED"
}
},
"connectionSpec": {
"id": "26d738e0-8963-47ea-aadf-c60de735468a",
"version": "1.0"
}
}'
auth.params.server
auth.params.database
auth.params.username
auth.params.password
auth.params.sslMode
connectionSpec.id
26d738e0-8963-47ea-aadf-c60de735468a
.Response
A successful response returns details of the newly created base connection, including its unique identifier (id
).
{
"id": "025d4158-4113-403b-b551-e81724d3880c",
"etag": "\"ae004437-0000-0200-0000-67ee107e0000\""
}
Connect MySQL to Experience Platform on Amazon Web Services
Read the steps below for information on how to connect your MySQL account to Experience Platform on AWS.
Create a base connection for MySQL on Experience Platform on AWS
API format
POST /connections
Request
The following request creates a base connection for MySQL to connect to Experience Platform on AWS.
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": "MySQL on Experience Platform AWS",
"description": "MySQL on Experience Platform AWS",
"auth": {
"specName": "Basic Authentication",
"params": {
"server": "localhost",
"port": "443",
"database": "mysql-acme",
"username": "acme",
"password": "xxxx",
"sslMode": "false"
}
},
"connectionSpec": {
"id": "26d738e0-8963-47ea-aadf-c60de735468a",
"version": "1.0"
}
}'
auth.params.server
auth.params.database
auth.params.username
auth.params.password
auth.params.sslMode
false
.connectionSpec.id
26d738e0-8963-47ea-aadf-c60de735468a
.Response
A successful response returns details of the newly created base connection, including its unique identifier (id
).
{
"id": "f847950c-1c12-4568-a550-d5312b16fdb8",
"etag": "\"0c0099f4-0000-0200-0000-67da91710000\""
}
Create a dataflow for MySQL data
Now that you have successfully connected your MySQL database, you can now create a dataflow and ingest data from your database into Experience Platform.