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: Eine 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“ im Abfrageparameter der Anfrage.
-
Unterstützte Entitäten:
-
Bar: relativer Pfad [/bar.json].
-
Baz: relativer Pfad [/baz.json].
-
Sobald alle Details vorliegen, können wir mit der Herstellung der AWS Glue Verbindung zur Foo REST-API beginnen.
So erstellen Sie eine REST-API-Verbindung:
-
Erstellen Sie die REST-API-Verbindung, 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 ein Geheimnis pro Verbindung erstellen in AWS Glue
-
Erstellen Sie die AWS Glue Verbindung, indem Sie die CreateConnection API mithilfe der AWS API, CLI oder 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 aus den konfigurierten Authentifizierungstypen. Die REST-API Foo verwendet OAuth2 mit dem ClientCredentials Grant-Typ.
-
Geben Sie die SecretArn und andere an AuthenticationProperties, die konfiguriert sind. Da in diesem Beispiel das
OAUTH2als verwendet wird AuthenticationType, setzen Sie das OAuth2Properties "" in das CreateConnectionInput. Dazu sind Eigenschaften wie "OAuth2GrantType„," TokenUrl „und"OAuth2ClientApplication“ erforderlich.
-
-
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" } } } } }