Verbind Amazon S3 met Experience Platform gebruikend Flow Service API
Gemaakt voor:
- Ontwikkelaar
Lees deze gids om te leren hoe u uw Amazon S3 bronrekening met Adobe Experience Platform kunt verbinden gebruikend Flow Service API.
Aan de slag
Deze handleiding vereist een goed begrip van de volgende onderdelen van Adobe Experience Platform:
- Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend Platform diensten.
- Sandboxes: Experience Platform verstrekt virtuele zandbakken die één enkele Platform instantie in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.
Platform-API's gebruiken
Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.
Verbind Amazon S3 met Experience Platform op Azure
Lees de onderstaande stappen voor informatie over hoe u de Amazon S3 -bron kunt verbinden met het Experience Platform in Azure.
Vereiste referenties verzamelen
Flow Service kan alleen verbinding maken met uw Amazon S3 -opslag als u waarden opgeeft voor de volgende verbindingseigenschappen:
Credentials | Beschrijving |
---|---|
s3AccessKey | De toegangs belangrijkste identiteitskaart voor uw Amazon S3 emmer. |
s3SecretKey | De geheime sleutel-id voor uw Amazon S3 emmertje. |
serviceUrl | (Optioneel) Het aangepaste Amazon S3 -eindpunt waarmee verbinding moet worden gemaakt. Dit veld is vereist wanneer uw Amazon S3 emmertje regiospecifiek is. De notatie voor serviceUrl is: https://s3.{REGION}.amazonaws.com/) . |
bucketName | Het emmertje Amazon S3 bevat uw gegevens en de bijbehorende beschrijvende metagegevens. De naam van de Amazon S3 emmer moet tussen de drie en 63 tekens lang zijn en moet beginnen en eindigen met een letter of een getal. De naam van de emmertje kan slechts kleine letters, aantallen, of koppeltekens (- ) hebben, en kan niet als IP adres worden geformatteerd. |
folderPath | Het pad naar de map in de Amazon S3 emmer waarin uw gegevens zijn opgeslagen. Deze referentie is vereist wanneer de gebruiker toegang heeft beperkt. |
s3SessionToken | (Optioneel) Een tijdelijke token voor de korte termijn waarmee u gebruikers in niet-vertrouwde omgevingen tijdelijk toegang kunt geven tot uw Amazon S3 -bronnen. Zie het Amazon S3 overzichtvoor meer informatie. |
connectionSpec.id | De verbindingsspecificatie keert de schakelaareigenschappen van een bron, met inbegrip van authentificatiespecificaties met betrekking tot het creëren van de basis en bronverbindingen terug. De verbindingsspecificatie-id voor Amazon S3 is: ecadc60c-7455-4d87-84dc-2a0e293d997b . |
Voor meer informatie bij het worden begonnen, bezoek dit Amazon Web Services document.
Een basisverbinding maken voor Amazon S3 op Experience Platform in Azure
Een basisverbinding behoudt informatie tussen uw bron en Platform, met inbegrip van de de authentificatiegeloofsbrieven van uw bron, de huidige staat van de verbinding, en uw unieke identiteitskaart van de basisverbinding. Met de ID van de basisverbinding kunt u bestanden verkennen en door bestanden navigeren vanuit uw bron en kunt u de specifieke items identificeren die u wilt opnemen, inclusief informatie over hun gegevenstypen en indelingen.
Als u een basis-verbindings-id wilt maken, vraagt u een POST naar het /connections
-eindpunt en geeft u de S3 -verificatiegegevens op als onderdeel van de aanvraagparameters.
API formaat
POST /connections
Verzoek
Met de volgende aanvraag wordt een basisverbinding voor Amazon S3 gemaakt:
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": "Amazon S3 base connection",
"description": "Amazon S3 base connection with temporary session token",
"auth": {
"specName": "Access Key",
"params": {
"s3AccessKey": "{S3_ACCESS_KEY}",
"s3SecretKey": "{S3_SECRET_KEY}",
"s3SessionToken": "{S3_SESSION_TOKEN}
}
},
"connectionSpec": {
"id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
"version": "1.0"
}
}'
auth.params.s3AccessKey
auth.params.s3SecretKey
auth.params.s3SessionToken
connectionSpec.id
ecadc60c-7455-4d87-84dc-2a0e293d997b
Reactie
Een succesvolle reactie keert details van de pas gecreëerde verbinding, met inbegrip van zijn uniek herkenningsteken (id
) terug. Deze id is vereist om uw opslag te verkennen in de volgende zelfstudie.
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}
Uw S3 sessietoken bijwerken
s3SessionToken
is tijdelijk en moet worden bijgewerkt wanneer het verloopt. U kunt het sessietoken dat aan uw basisverbinding is gekoppeld, bijwerken door een PATCH-aanvraag in te dienen bij de Flow Service API. Zie het S3 overzichtvoor meer informatie over tijdelijke veiligheidsgeloofsbrieven voor S3.
If-Match
is vereist wanneer een PATCH-aanvraag wordt ingediend. De waarde voor deze header is de unieke tag van de verbinding die u wilt bijwerken.API formaat
PATCH /connections
Verzoek
Met de volgende aanvraag wordt een basisverbinding voor Amazon S3 gemaakt:
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/connections/4cb0c374-d3bb-4557-b139-5712880adc55' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'If-Match: "1700d77b-0000-0200-0000-5e3b41a10000"'
-d '[
{
"op": "replace",
"path": "/auth/params/s3SessionToken",
"value": "{SESSION_TOKEN}"
}
]'
op
add
, replace
en remove
.path
value
Reactie
Een geslaagde reactie retourneert uw basis-verbindings-id en een bijgewerkt label. U kunt de update verifiëren door een aanvraag voor een GET in te dienen bij de Flow Service API en tegelijk uw verbinding-id op te geven.
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}
Verbinding maken Amazon S3 met Experience Platform op Amazon Web Services (AWS)
Lees de onderstaande stappen voor informatie over hoe u de Amazon S3 -bron kunt verbinden met het Experience Platform op AWS.
Vereisten
Als u uw Amazon S3 -account wilt koppelen aan een Experience Platform op AWS, moet u over het volgende beschikken:
- Een AWS-account met toegang tot de Amazon S3 emmertje of map die u wilt verbinden.
- De benodigde IAM-machtigingen die
s3:GetObject
- ens3:ListBucket
-handelingen toestaan.
Haal de rol IAM voor uw emmer toestemmingen terug
API formaat
GET /connectionSpecs/{CONNECTION_SPEC_ID}/configs?authType={AUTH_TYPE}
Verzoek
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/ecadc60c-7455-4d87-84dc-2a0e293d997b/configs?authType=IamBasedAuthentication' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Reactie
Een succesvolle reactie keert uw Rol IAM terug. Deze waarde is vereist in de volgende stap voor het instellen van machtigingen in uw Amazon S3 emmertje.
{
"configParams": {
"IAMRole": "{IAM_ROLE}"
}
}
Machtigingen instellen in uw Amazon S3 emmertje
- Login aan uw rekening in de Console van het Beheer van AWS.
- Navigeer naar het emmertje van Amazon S3 en selecteer vervolgens Permissions .
- Bewerk het emmerbeleid en voeg de volgende machtigingen toe:
IAM_ROLE_TO_ALLOW_LIST
is de IAM-rol die in de vorige stap via de API is opgehaald. U moet {YOUR_BUCKET_NAME} vervangen door de werkelijke naam van de Amazon S3 emmertje. Als u toegang wilt geven tot een specifieke map, moet u {YOUR_FOLDER_NAME} ook vervangen door de naam van de map waartoe u toegang wilt geven.{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AEP Get Object Related Policy Prod",
"Effect": "Allow",
"Principal": {
"AWS": "{IAM_ROLE_TO_ALLOW_LIST}"
},
"Action": "s3:Get*",
"Resource": "arn:aws:s3:::{YOUR_BUCKET_NAME}/{YOUR_FOLDER_NAME}"
},
{
"Sid": "AEP List Bucket Prod",
"Effect": "Allow",
"Principal": {
"AWS": "{IAM_ROLE_TO_ALLOW_LIST}"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::{YOUR_BUCKET_NAME}"
}
]
}
Een basisverbinding maken voor Amazon S3 op Experience Platform in AWS
API formaat
POST /connections
Verzoek
Met de volgende aanvraag wordt een basisverbinding voor Amazon S3 gemaakt:
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": "Amazon S3 base connection for Experience Platform on AWS",
"description": "Amazon S3 base connection for Experience Platform on AWS",
"auth": {
"specName": "IAMRole Based",
"params": {
"bucketName": "{YOUR_BUCKET_NAME}"
}
},
"connectionSpec": {
"id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
"version": "1.0"
}
}'
auth.params.bucketName
Reactie
Een succesvolle reactie keert details van de pas gecreëerde verbinding, met inbegrip van zijn uniek herkenningsteken (id
) terug. Deze id is vereist om uw opslag te verkennen in de volgende zelfstudie.
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}
Volgende stappen
Door deze zelfstudie te volgen, hebt u een S3-verbinding gemaakt met behulp van API's en is een unieke id opgehaald als onderdeel van de hoofdtekst van de reactie. U kunt deze verbindingsidentiteitskaart gebruiken om wolkenopslag te onderzoeken gebruikend de Dienst API van de Stroom.