Verwalten von benutzerdefinierten Datenquellen (Azure Data Catalog REST-API)

In diesem Artikel werden die REST-APIs beschrieben, die zum Verwalten einer benutzerdefinierten Datenquelle in Azure Data Catalog verwendet werden. Verwenden Sie die Methoden Enumerate und Register :

Enumerate-Methode

Listet benutzerdefinierte Datenquellenprotokolle auf, die im Katalog registriert sind.

Anforderung

GET https://api.azuredatacatalog.com/catalogs/{catalog_name}/dataSourceProtocols?api-version={api-version}

URI-Parameter

Name Beschreibung Datentyp
Catalog_name Name des Katalogs oder "DefaultCatalog", um den Standardkatalog zu verwenden. String
api-version Die API-Version. String

GET-Beispiel

GET https://api.azuredatacatalog.com/catalogs/DefaultCatalog/dataSourceProtocols?api-version=2016-03-30
Content-Type: application/json
x-ms-client-request-id: 13c45c14…46ab469473f0
Authorization: Bearer eyJ0eX ... FWSXfwtQ

Antwort

Statuscodes

Code BESCHREIBUNG
200 OK. Die Antwort enthält eine Liste benutzerdefinierter Datenquellenprotokolle.

Content-Type

Anwendung/json

Header

HTTP/1.1 201 Erstellt x-ms-request-id: 72cf83c0... 058f2b2a0c68

Text

    {
        "value": [
            {
                "namespace": "Test.Test.MyTestProtocols",
                "name": "abc-def",
                "identityProperties": [
                    {
                        "name": "prop1",
                        "type": "string",
                        "ignoreCase":   
                    },  
                    {  
                        "name": "prop2",
                        "type": "int"
                    }  
                ],  
                "identitySets": [
                    {  
                        "properties": [
                            "prop1"
                        ]
                    },
                    {
                        "properties": [
                            "prop1",
                            "prop2"
                        ]
                    }
                ],
                "id": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/dataSourceProtocols/753a4d5a-26af-6491-610c-c3e069b904b1",
                "timestamp": "2016-04-27T00:45:55.8094373"
            }
        ]
    }

Wenn der Response-Text nicht NULL-Wert für die Eigenschaft "nextLink" enthält, sollte der Client die in der "nextLink"-Eigenschaft angegebene URL verwenden, um die Enumeration fortzusetzen, bis der Wert der "nextLink"-Eigenschaft NULL ist (oder nicht im Antworttext vorhanden ist).

Register-Methode

Registriert ein neues Datenquellenprotokoll, auf das beim Veröffentlichen eines Medienobjekts in der Eigenschaft "dsl" verwiesen werden kann.

Anforderung

POST https://api.azuredatacatalog.com/catalogs/{catalog_name}/dataSourceProtocols?api-version={api-version}

URI-Parameter

Name Beschreibung Datentyp
Catalog_name Name des Katalogs oder "DefaultCatalog", um den Standardkatalog zu verwenden. String
api-version Die API-Version. String

POST-Beispiel

POST https://api.azuredatacatalog.com/catalogs/DefaultCatalog/dataSourceProtocols?api-version=2016-03-30

Header

Content-Type: application/json
x-ms-client-request-id: 12345c14…46ab469473f0
Authorization: Bearer eyJ0eX ... FWSXfwtQ

Beispiel für Hauptteil

    {
        "namespace": "Test.MyTestProtocols",
        "name": "abc-def",
        "identityProperties": [
            {
                "name": "prop1",
                "type": "string",
                "ignoreCase":
            },
            {
                "name": "prop2",
                "type": "int"
            }
        ],
        "identitySets": [
            {
                "properties": [
                    "prop1"
                ]
            },  
            {  
                "properties": [
                    "prop1",
                    "prop2"
                ]
            }
        ]
    }
Antwort

Statuscodes

Code BESCHREIBUNG
200 OK: Die Anforderung wurde erfüllt, und ein neues benutzerdefiniertes Datenquellenprotokoll wurde erstellt.
400 Fehlermeldung: BadRequest. Die Anforderung wurde abgebrochen, da die Anforderungsnutzlast nicht der Spezifikation des Datenquellenprotokolls entspricht. Fehlerdetails finden Sie im Text der Antwort.
400 BadRequest mit dem Fehlercode ImmutableViewItem. Die Anforderung wurde abgebrochen, da das Datenquellenprotokoll mit dem angegebenen Namespace und Namen bereits vorhanden ist und nicht aktualisiert werden kann.

Content-Type

application/json

Header

HTTP/1.1 201 Created
x-ms-request-id: 72cf83c0…058f2b2a0c68
Location: https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/dataSourceProtocols/753a4d5a-26af-6491-610c-c3e069b904b1

Verwenden des benutzerdefinierten Datenquellenprotokolls beim Veröffentlichen eines Medienobjekts

Verwenden Sie den namespacequalifizierten Namen des benutzerdefinierten Datenquellenprotokolls als Wert der Eigenschaft "protocol" in der Eigenschaft "dsl" des Medienobjekts, und geben Sie Werte für Identitätseigenschaften im Eigenschaftenbehälter "address" an:

POST https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables?api-version=2016-03-30

Textbeispiel 1: Verwenden Sie einen Identitätssatz, der nur "prop1" enthält:

    {  
        "properties": {
            ....
            "dsl": {
                "protocol": "Test.MyTestProtocols.abc-def",
                "authentication": "windows",
                "address": {
                    "prop1": "location1"
                }
            },
            ...
        },
        "annotations": {
            ...
        }
    }

Textbeispiel 2: Verwenden Sie einen Identitätssatz, der sowohl "prop1" als auch "prop2" enthält:

    {  
        "properties": {
            ....
            "dsl": {
                "protocol": "Test.MyTestProtocols.abc-def",
                "authentication": "windows",
                "address": {
                    "prop1": "location1",
                    "prop2": 123,
                }
            },
            ...
        },  
        "annotations": {
            ...
        }
    }

Hinweis

Wenn der Eigenschaftenbehälter "address" nur "prop2" enthält, wird die Veröffentlichungsanforderung abgelehnt (als BadRequest), da kein übereinstimmende Identitätssatz vom Protokoll definiert ist.

Die Spezifikation des benutzerdefinierten Datenquellenprotokolls finden Sie unter Data Catalog Entwicklerkonzepte.