Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tutorial: REST-API ConnectionType und -Verbindung erstellen
Verbindung zur Foo REST API herstellen
Wir werden eine AWS Glue REST-API ConnectionType und eine entsprechende AWS Glue Verbindung für die Foo REST API erstellen. Diese API hat die folgenden Eigenschaften (die aus der REST-API-Dokumentation abgerufen werden können).
-
Instanz-URL: https://foo.cloud.com/rest/ v1.
-
Authentifizierungstyp: OAuth2 (Client-Anmeldeinformationen).
-
REST-Methode: GET.
-
Paginierungstyp: Offset mit den Eigenschaften „Limit“ und „Offset“, die im Abfrageparameter der Anfrage platziert sind.
-
Unterstützte Entitäten:
-
Bar: relativer Pfad [/bar.json].
-
Baz: relativer Pfad [/baz.json].
-
Sobald alle Details vorliegen, können wir damit beginnen, die AWS Glue Verbindung zur Foo REST API herzustellen.
So erstellen Sie eine REST-API-Verbindung:
-
Erstellen Sie den REST-API-Verbindungstyp, AWS Glue indem Sie die RegisterConnectionType API mithilfe von AWS API, CLI oder SDK aufrufen. Dadurch wird eine neue ConnectionType Ressource in erstellt AWS Glue.
{ "ConnectionType": "REST-FOO-CONNECTOR", "IntegrationType": "REST", "Description": "AWS Glue Connection Type for the FOO REST API", "ConnectionProperties": { "Url": { "Name": "Url", "Required": true, "DefaultValue": "https://foo.cloud.com/rest/v1", "PropertyType": "USER_INPUT" } }, "ConnectorAuthenticationConfiguration": { "AuthenticationTypes": ["OAUTH2"], "OAuth2Properties": { "OAuth2GrantType": "CLIENT_CREDENTIALS" } }, "RestConfiguration": { "GlobalSourceConfiguration": { "RequestMethod": "GET", "ResponseConfiguration": { "ResultPath": "$.result", "ErrorPath": "$.error.message" }, "PaginationConfiguration": { "OffsetConfiguration": { "OffsetParameter": { "Key": "offset", "PropertyLocation": "QUERY_PARAM" }, "LimitParameter": { "Key": "limit", "PropertyLocation": "QUERY_PARAM", "DefaultValue": "50" } } } }, "ValidationEndpointConfiguration": { "RequestMethod": "GET", "RequestPath": "/bar.json?offset=1&limit=10" }, "EntityConfigurations": { "bar": { "SourceConfiguration": { "RequestMethod": "GET", "RequestPath": "/bar.json", "ResponseConfiguration": { "ResultPath": "$.result", "ErrorPath": "$.error.message" } }, "Schema": { "name": { "Name": "name", "FieldDataType": "STRING" }, "description": { "Name": "description", "FieldDataType": "STRING" }, "id": { "Name": "id", "FieldDataType": "STRING" }, "status": { "Name": "status", "FieldDataType": "STRING" } } } } } } -
Erstellen Sie im AWS Secrets Manager ein Geheimnis. Das Secret sollte die verbundene App Consumer Secret mit einem
USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRETSchlüssel enthalten.Anmerkung
Sie müssen pro Verbindung ein Geheimnis erstellen in AWS Glue
-
Stellen Sie die AWS Glue Verbindung her, indem Sie die CreateConnection API mit der AWS API, der CLI oder dem SDK aufrufen.
-
Verweisen Sie auf den Namen des REST-Verbindungstyps aus Schritt 1 als „ConnectionType“.
-
Geben Sie den InstanceUrl und alle anderen an ConnectionProperties , die während des AWS Glue ConnectionType Registrierungsprozesses definiert wurden.
-
Wählen Sie einen der konfigurierten Authentifizierungstypen aus. Die REST-API, die Foo OAuth2 mit dem ClientCredentials Grant-Typ verwendet.
-
Geben Sie die SecretArnund andere an AuthenticationProperties, die konfiguriert sind. Zum Beispiel haben wir das
OAUTH2AuthenticationType so konfiguriert, dass wir die „OAuth2Eigenschaften“ in der festlegen werden CreateConnectionInput. Dies erfordert Eigenschaften wie „OAuth2GrantType“, „TokenUrl“ und „OAuth2ClientApplication“.
-
-
Stellen Sie die CreateConnection Anfrage, mit der die AWS Glue Verbindung hergestellt wird.
{ "ConnectionInput": { "Name": "ConnectionFooREST", "ConnectionType": "REST-FOO-CONNECTOR", "ConnectionProperties": {}, "ValidateCredentials": true, "AuthenticationConfiguration": { "AuthenticationType": "OAUTH2", "SecretArn": "arn:aws:secretsmanager:<region>:<accountId>:secret:<secretId>", "OAuth2Properties": { "OAuth2GrantType": "CLIENT_CREDENTIALS", "TokenUrl": "https://foo.cloud.com/oauth/token", "OAuth2ClientApplication": { "UserManagedClientApplicationClientId": "your-managed-client-id" } } } } }