Κοινή χρήση μέσω


Microsoft Fabric κατοπτρικά δημόσιο API REST

Τα δημόσια API για κατοπτρισμού Fabric αποτελούνται από δύο κατηγορίες: (1) λειτουργίες CRUD για fabric κατοπτρικό στοιχείο βάσης δεδομένων και (2) Λειτουργίες έναρξης/διακοπής και παρακολούθησης. Μπορείτε να βρείτε την κύρια ηλεκτρονική τεκμηρίωση αναφοράς για τα API REST του Microsoft Fabric στις αναφορές του Microsoft Fabric REST API.

Σημείωμα

Αυτά τα REST API δεν ισχύουν για κατοπτρικές βάσεις δεδομένων από το Azure Databricks.

Δημιουργία βάσης δεδομένων κατοπτρισμού

REST API - Στοιχεία - Δημιουργία βάσης δεδομένων κατοπτρισμού

Πριν να δημιουργήσετε βάση δεδομένων κατοπτρισμού, απαιτείται η αντίστοιχη σύνδεση προέλευσης δεδομένων. Εάν δεν έχετε ακόμα σύνδεση, ανατρέξτε στη δημιουργία νέας σύνδεσης χρησιμοποιώντας την πύλη και χρησιμοποιήστε αυτό το αναγνωριστικό σύνδεσης στον παρακάτω ορισμό. Μπορείτε επίσης να αναφερθείτε για να δημιουργήσετε νέα σύνδεση REST API για να δημιουργήσετε νέα σύνδεση, χρησιμοποιώντας Fabric REST API.

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases

Σώμα:

{
    "displayName": "Mirrored database 1",
    "description": "A mirrored database description",
    "definition": {
        "parts": [
            {
                "path": "mirroring.json",
                "payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
                "payloadType": "InlineBase64"
            }
        ]
    }
}

Η ιδιότητα ωφέλιμου φορτίου στο προηγούμενο σώμα JSON έχει κωδικοποίηση Base64. Μπορείτε να χρησιμοποιήσετε το Base64 Encode και το Decode για να κωδικοποιήσετε. Ακολουθούν τα αρχικά παραδείγματα ορισμών JSON για διαφορετικούς τύπους προελεύσεων:

Εάν θέλετε να αναπαραγάγετε επιλεκτικούς πίνακες αντί για όλους τους πίνακες στην καθορισμένη βάση δεδομένων, ανατρέξτε στο παράδειγμα ορισμού JSON για την αναπαραγωγή καθορισμένων πινάκων.

Σημαντικό

Για να κατοπτρικά δεδομένα από τη Βάση δεδομένων SQL Azure ή τη Διαχειριζόμενη παρουσία Azure SQL, πρέπει επίσης να κάνετε τα εξής πριν ξεκινήσετε τον κατοπτρισμού:

  1. Ενεργοποιήστε την Διαχειριζόμενη ταυτότητα με ανάθεση συστήματος (SAMI) του λογικού διακομιστή Azure SQL ή της Διαχειριζόμενης παρουσίας Azure SQL.
  2. Εκχωρήστε δικαιώματα ανάγνωσης και εγγραφής SAMI στη βάση δεδομένων κατοπτρισμού. Προς το παρόν, πρέπει να το κάνετε αυτό στην πύλη Fabric. Εναλλακτικά, μπορείτε να εκχωρήσετε ρόλο χώρου εργασίας SAMI χρησιμοποιώντας προσθήκη API ανάθεσης ρόλων χώρου εργασίας.

Σημείωμα

defaultSchema ιδιότητα υποδεικνύει εάν θα γίνει αναπαραγωγή της ιεραρχίας σχήματος από τη βάση δεδομένων προέλευσης.

Παράδειγμα ορισμού JSON του Snowflake

{
    "properties": {
        "source": {
            "type": "Snowflake",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "database": "xxxx"
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        }
    }
}

Παράδειγμα ορισμού JSON της βάσης δεδομένων SQL Azure

{
    "properties": {
        "source": {
            "type": "AzureSqlDatabase",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "landingZone":{
                    "type":"MountedRelationalDatabase"
                }
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        }
    }
}

Παράδειγμα ορισμού JSON της Διαχειριζόμενης παρουσίας Azure SQL

{
    "properties": {
        "source": {
            "type": "AzureSqlMI",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "landingZone":{
                    "type":"MountedRelationalDatabase"
                }
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        }
    }
}

Παράδειγμα ορισμού JSON του Azure Cosmos DB

{
    "properties": {
        "source": {
            "type": "CosmosDb",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "database": "xxxx"
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        }
    }
}

Παράδειγμα ορισμού JSON ανοιχτού κατοπτρισμού

{
    "properties": {
        "source": {
            "type": "GenericMirror",
            "typeProperties": {}
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "format": "Delta"
            }
        }
    }
}

Παράδειγμα ορισμού JSON για την αναπαραγωγή καθορισμένων πινάκων

Τα προηγούμενα παραδείγματα ισχύουν για το σενάριο που αναπαράγει αυτόματα όλους τους πίνακες στην καθορισμένη βάση δεδομένων. Εάν θέλετε να καθορίσετε τους πίνακες για αναπαραγωγή, μπορείτε να καθορίσετε την mountedTables ιδιότητα, όπως στο παρακάτω παράδειγμα.

{
    "properties": {
        "source": {
            "type": "<your source type>",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "database": "xxxx"
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        },
        "mountedTables": [
            {
                "source": {
                    "typeProperties": {
                        "schemaName": "xxxx",
                        "tableName": "xxxx"
                    }
                }
            }
        ]
    }
}

Απάντηση 201:

{ 
    "id": "<mirrored database ID>", 
    "type": "MirroredDatabase", 
    "displayName": "Mirrored database 1", 
    "description": "A mirrored database description", 
    "workspaceId": "<your workspace ID>" 
} 

Διαγραφή κατοπτρισμού βάσης δεδομένων

REST API - Στοιχεία - Διαγραφή κατοπτρισμένης βάσης δεδομένων

Παράδειγμα:

DELETE https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>

Απάντηση 200: (Χωρίς σώμα)

Λήψη βάσης δεδομένων κατοπτρισμού

REST API - Στοιχεία - Λήψη βάσης δεδομένων κατοπτρισμού

Παράδειγμα:

GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>

Απάντηση 200:

{
    "displayName": "Mirrored database 1",
    "description": "A mirrored database description.",
    "type": "MirroredDatabase",
    "workspaceId": "<your workspace ID>",
    "id": "<mirrored database ID>",
    "properties": {
        "oneLakeTablesPath": "https://onelake.dfs.fabric.microsoft.com/<your workspace ID>/<mirrored database ID>/Tables",
        "sqlEndpointProperties": {
            "connectionString": "xxxx.xxxx.fabric.microsoft.com",
            "id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
            "provisioningStatus": "Success"
        },
        "defaultSchema": "xxxx"
    }
}

Λήψη ορισμού βάσης δεδομένων κατοπτρισμού κατοπτρισμού

REST API - Στοιχεία - Λήψη ορισμού βάσης δεδομένων κατοπτρισμού βάσης δεδομένων

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getDefinition

Απάντηση 200:

{ 
    "definition": { 
        "parts":[ 
            { 
                "path": "mirroring.json", 
                "payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0", 
                "payloadType": "InlineBase64" 
            } 
        ] 
    } 
} 

Λίστα βάσεων δεδομένων με κατοπτρισμούς

REST API - Στοιχεία - Βάση δεδομένων με κατοπτρικές βάσεις δεδομένων λίστας

Παράδειγμα:

GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases

Απάντηση 200:

{ 
    "value": [ 
        {
            "displayName": "Mirrored database 1",
            "description": "A mirrored database description.",
            "type": "MirroredDatabase",
            "workspaceId": "<your workspace ID>",
            "id": "<mirrored database ID>",
            "properties": {
                "oneLakeTablesPath": "https://onelake.dfs.fabric.microsoft.com/<your workspace ID>/<mirrored database ID>/Tables",
                "sqlEndpointProperties": {
                    "connectionString": "xxxx.xxxx.fabric.microsoft.com",
                    "id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
                    "provisioningStatus": "Success"
                },
                "defaultSchema": "xxxx"
            }
        }
    ] 
} 

Ενημέρωση κατοπτρισμού βάσης δεδομένων

REST API - Στοιχεία - Ενημέρωση βάσης δεδομένων κατοπτρισμού

Παράδειγμα:

PATCH https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>

Σώμα:

{
    "displayName": "MirroredDatabase's New name",
    "description": "A new description for mirrored database."
}

Απάντηση 200:

{
    "displayName": "MirroredDatabase's New name",
    "description": "A new description for mirrored database.",
    "type": "MirroredDatabase",
    "workspaceId": "<your workspace ID>",
    "id": "<mirrored database ID>"
}

Ενημέρωση ορισμού βάσης δεδομένων κατοπτρισμού κατοπτρισμού

REST API - Στοιχεία - Ενημέρωση ορισμού βάσης δεδομένων κατοπτρικών

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/updateDefinition

Σώμα:

{ 
  "definition": { 
    "parts": [ 
      { 
        "path": "mirroring.json", 
        "payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0", 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
}

Απάντηση 200: (Χωρίς σώμα)

Σημείωμα

Αυτό το API υποστηρίζει την προσθήκη/κατάργηση πινάκων ανανεώνοντας την mountedTables ιδιότητα. Υποστηρίζει επίσης ενημέρωση του αναγνωριστικού σύνδεσης προέλευσης, του ονόματος βάσης δεδομένων και του προεπιλεγμένου σχήματος (αυτές οι τρεις ιδιότητες μπορούν να ενημερωθούν μόνο όταν λήψη κατάστασης κατοπτρισμού API επιστρέφει Initialized/Stopped).

Λήψη κατάστασης κατοπτρισμού

API REST - Κατοπτρικά - Λήψη κατάστασης κατοπτρισμού

Αυτό το API επιστρέφει την κατάσταση της παρουσίας βάσης δεδομένων κατοπτρισμού. Η λίστα των διαθέσιμων καταστάσεων παρέχεται στις τιμές του MirroringStatus.

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getMirroringStatus

Απάντηση 200:

{
    "status": "Running"
}

Έναρξη κατοπτρισμού

API REST - Κατοπτρικά - Έναρξη κατοπτρικού

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/startMirroring

Απάντηση 200: (Χωρίς σώμα)

Σημείωμα

Δεν είναι δυνατή η εκκίνηση κατοπτρισμού όταν είναι παραπάνω κατάσταση κατοπτρισμού Λήψη API επιστρέφει Initializing κατάσταση.

Λήψη κατάστασης κατοπτρικών πινάκων

REST API - Κατοπτρικά - Λήψη πινάκων κατοπτρικών κατάστασης

Εάν εκκινηθεί το ειδώλου και το API κατάστασης κατοπτρισμού "Λήψη κατοπτρισμού" επιστρέφει Running κατάσταση, αυτό το API επιστρέφει την κατάσταση και τα μετρικά των πινάκων αναπαραγωγής.

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getTablesMirroringStatus

Απάντηση 200:

{
    "continuationToken": null,
    "continuationUri": null,
    "data": [
        {
            "sourceSchemaName": "dbo",
            "sourceTableName": "test",
            "status": "Replicating",
            "metrics": {
                "processedBytes": 1247,
                "processedRows": 6,
                "lastSyncDateTime": "2024-10-08T05:07:11.0663362Z"
            }
        }
    ]
}

Διακοπή κατοπτρισμού

API REST - Κατοπτρικά - Διακοπή κατοπτρικού

Παράδειγμα:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/stopMirroring

Απάντηση 200: (Χωρίς σώμα)

Σημείωμα

Μετά τη διακοπή του κατοπτρικού, μπορείτε να καλέσετε το Λήψη κατάστασης κατοπτρισμού API για να υποβάλετε ερώτημα για την κατάσταση κατοπτρισμού.

Microsoft Fabric .NET SDK

Το .NET SDK που υποστηρίζει κατοπτρικά Fabric είναι διαθέσιμο στο Microsoft Fabric .NET SDK. Η έκδοση πρέπει να είναι >= 1.0.0-beta.11.