View a markdown version of this page

Tutorial: Eine REST-API ConnectionType und Verbindung erstellen - AWS Glue

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:

  1. 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" } } } } } }
  2. Erstellen Sie im AWS Secrets Manager ein Geheimnis. Das Secret sollte die verbundene App Consumer Secret mit einem USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET Schlüssel enthalten.

    Anmerkung

    Sie müssen ein Geheimnis pro Verbindung erstellen in AWS Glue

  3. Erstellen Sie die AWS Glue Verbindung, indem Sie die CreateConnection API mithilfe der AWS API, CLI oder SDK aufrufen.

    1. Verweisen Sie auf den Namen des REST-Verbindungstyps aus Schritt 1 als "ConnectionType“.

    2. Geben Sie den InstanceUrl und alle anderen an ConnectionProperties , die während des AWS Glue ConnectionType Registrierungsprozesses definiert wurden.

    3. Wählen Sie aus den konfigurierten Authentifizierungstypen. Die REST-API Foo verwendet OAuth2 mit dem ClientCredentials Grant-Typ.

    4. Geben Sie die SecretArn und andere an AuthenticationProperties, die konfiguriert sind. Da in diesem Beispiel das OAUTH2 als verwendet wird AuthenticationType, setzen Sie das OAuth2Properties "" in das CreateConnectionInput. Dazu sind Eigenschaften wie "OAuth2GrantType„," TokenUrl „und"OAuth2ClientApplication“ erforderlich.

  4. 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" } } } } }