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
Header
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.