Namespace: microsoft.graph
Aktualisieren sie die Eigenschaften einer exchangeRestoreSession.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
| Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
| Delegiert (Geschäfts-, Schul- oder Unikonto) |
BackupRestore-Restore.ReadWrite.All |
Nicht verfügbar. |
| Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
| Application |
BackupRestore-Restore.ReadWrite.All |
Nicht verfügbar. |
HTTP-Anforderung
PATCH /solutions/backupRestore/exchangeRestoreSessions/{exchangeRestoreSessionId}
Anforderungstext
Geben Sie im Anforderungstext nur die Werte für zu aktualisierende Eigenschaften an. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet.
In der folgenden Tabelle sind die Eigenschaften angegeben, die aktualisiert werden können.
Um eine exchangeRestoreSession zu entfernen, geben Sie die @removed Anmerkung im Anforderungstext für das Wiederherstellungspunktartefakt mit der ID von mailboxRestoreArtifact an.
Antwort
Bei erfolgreicher Ausführung gibt die Methode einen 200 OK Antwortcode und ein aktualisiertes exchangeRestoreSession-Objekt im Antworttext zurück.
Eine Liste der möglichen Fehlerantworten finden Sie unter Fehlerantworten der Backup Storage-API.
Beispiele
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/v1.0/solutions/backupRestore/exchangeRestoreSessions/2b814d8c-71fd-4d00-a01a-31850bc5b32c
Content-Type: application/json
{
"mailboxRestoreArtifacts@delta": [
{
"restorePoint": { "id": "1b014d8c-71fe-4d00-a01a-31850bc5b32c" }, //Create a new mailbox restore artifact and add it under the Restore Session.
"destinationType": "inPlace"
},
{
"restorePoint": { "id": "2b014d8c-71fe-4d00-a01a-31850bc5b32" },
"destinationType": "inPlace"
},
{
"restorePoint": { "id": "3b014d8c-71fe-4d00-a01a-31850bc5b32c" },
"destinationType": "inPlace"
},
{
"restorePoint": { "id": "4b014d8c-71fe-4d00-a01a-31850bc5b32c" },
"destinationType": "inPlace"
},
{
"@removed": {
"reason": "changed"
},
"id": "99954f18-c8ec-4b62-85bf-cdf3b70b140e"
},
{
"@removed": {
"reason": "changed"
},
"id": "4267e382-71a9-4c07-bef7-bda97e09c0d2"
},
{
"@removed": {
"reason": "changed"
},
"id": "3667e382-71a9-4c07-bef7-bda97e09c0d2"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new ExchangeRestoreSession
{
AdditionalData = new Dictionary<string, object>
{
{
"mailboxRestoreArtifacts@delta" , new List<object>
{
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"restorePoint", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("1b014d8c-71fe-4d00-a01a-31850bc5b32c")
},
})
},
{
"destinationType", new UntypedString("inPlace")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"restorePoint", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("2b014d8c-71fe-4d00-a01a-31850bc5b32")
},
})
},
{
"destinationType", new UntypedString("inPlace")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"restorePoint", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("3b014d8c-71fe-4d00-a01a-31850bc5b32c")
},
})
},
{
"destinationType", new UntypedString("inPlace")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"restorePoint", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("4b014d8c-71fe-4d00-a01a-31850bc5b32c")
},
})
},
{
"destinationType", new UntypedString("inPlace")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@removed", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"reason", new UntypedString("changed")
},
})
},
{
"id", new UntypedString("99954f18-c8ec-4b62-85bf-cdf3b70b140e")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@removed", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"reason", new UntypedString("changed")
},
})
},
{
"id", new UntypedString("4267e382-71a9-4c07-bef7-bda97e09c0d2")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@removed", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"reason", new UntypedString("changed")
},
})
},
{
"id", new UntypedString("3667e382-71a9-4c07-bef7-bda97e09c0d2")
},
}),
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Solutions.BackupRestore.ExchangeRestoreSessions["{exchangeRestoreSession-id}"].PatchAsync(requestBody);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ExchangeRestoreSession exchangeRestoreSession = new ExchangeRestoreSession();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<Object> mailboxRestoreArtifactsDelta = new LinkedList<Object>();
property = new ();
restorePoint = new ();
restorePoint.setId("1b014d8c-71fe-4d00-a01a-31850bc5b32c");
property.setRestorePoint(restorePoint);
property.setDestinationType("inPlace");
mailboxRestoreArtifactsDelta.add(property);
property1 = new ();
restorePoint1 = new ();
restorePoint1.setId("2b014d8c-71fe-4d00-a01a-31850bc5b32");
property1.setRestorePoint(restorePoint1);
property1.setDestinationType("inPlace");
mailboxRestoreArtifactsDelta.add(property1);
property2 = new ();
restorePoint2 = new ();
restorePoint2.setId("3b014d8c-71fe-4d00-a01a-31850bc5b32c");
property2.setRestorePoint(restorePoint2);
property2.setDestinationType("inPlace");
mailboxRestoreArtifactsDelta.add(property2);
property3 = new ();
restorePoint3 = new ();
restorePoint3.setId("4b014d8c-71fe-4d00-a01a-31850bc5b32c");
property3.setRestorePoint(restorePoint3);
property3.setDestinationType("inPlace");
mailboxRestoreArtifactsDelta.add(property3);
property4 = new ();
removed = new ();
removed.setReason("changed");
property4.setRemoved(removed);
property4.setId("99954f18-c8ec-4b62-85bf-cdf3b70b140e");
mailboxRestoreArtifactsDelta.add(property4);
property5 = new ();
removed1 = new ();
removed1.setReason("changed");
property5.setRemoved(removed1);
property5.setId("4267e382-71a9-4c07-bef7-bda97e09c0d2");
mailboxRestoreArtifactsDelta.add(property5);
property6 = new ();
removed2 = new ();
removed2.setReason("changed");
property6.setRemoved(removed2);
property6.setId("3667e382-71a9-4c07-bef7-bda97e09c0d2");
mailboxRestoreArtifactsDelta.add(property6);
additionalData.put("mailboxRestoreArtifacts@delta", mailboxRestoreArtifactsDelta);
exchangeRestoreSession.setAdditionalData(additionalData);
ExchangeRestoreSession result = graphClient.solutions().backupRestore().exchangeRestoreSessions().byExchangeRestoreSessionId("{exchangeRestoreSession-id}").patch(exchangeRestoreSession);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
const options = {
authProvider,
};
const client = Client.init(options);
const exchangeRestoreSession = {
'mailboxRestoreArtifacts@delta': [
{
restorePoint: { id: '1b014d8c-71fe-4d00-a01a-31850bc5b32c' }, //Create a new mailbox restore artifact and add it under the Restore Session.
destinationType: 'inPlace'
},
{
restorePoint: { id: '2b014d8c-71fe-4d00-a01a-31850bc5b32' },
destinationType: 'inPlace'
},
{
restorePoint: { id: '3b014d8c-71fe-4d00-a01a-31850bc5b32c' },
destinationType: 'inPlace'
},
{
restorePoint: { id: '4b014d8c-71fe-4d00-a01a-31850bc5b32c' },
destinationType: 'inPlace'
},
{
'@removed': {
reason: 'changed'
},
id: '99954f18-c8ec-4b62-85bf-cdf3b70b140e'
},
{
'@removed': {
reason: 'changed'
},
id: '4267e382-71a9-4c07-bef7-bda97e09c0d2'
},
{
'@removed': {
reason: 'changed'
},
id: '3667e382-71a9-4c07-bef7-bda97e09c0d2'
}
]
};
await client.api('/solutions/backupRestore/exchangeRestoreSessions/2b814d8c-71fd-4d00-a01a-31850bc5b32c')
.update(exchangeRestoreSession);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\ExchangeRestoreSession;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ExchangeRestoreSession();
$additionalData = [
'mailboxRestoreArtifacts@delta' => [
[
'restorePoint' => [
'id' => '1b014d8c-71fe-4d00-a01a-31850bc5b32c',
],
'destinationType' => 'inPlace',
],
[
'restorePoint' => [
'id' => '2b014d8c-71fe-4d00-a01a-31850bc5b32',
],
'destinationType' => 'inPlace',
],
[
'restorePoint' => [
'id' => '3b014d8c-71fe-4d00-a01a-31850bc5b32c',
],
'destinationType' => 'inPlace',
],
[
'restorePoint' => [
'id' => '4b014d8c-71fe-4d00-a01a-31850bc5b32c',
],
'destinationType' => 'inPlace',
],
[
'@removed' => [
'reason' => 'changed',
],
'id' => '99954f18-c8ec-4b62-85bf-cdf3b70b140e',
],
[
'@removed' => [
'reason' => 'changed',
],
'id' => '4267e382-71a9-4c07-bef7-bda97e09c0d2',
],
[
'@removed' => [
'reason' => 'changed',
],
'id' => '3667e382-71a9-4c07-bef7-bda97e09c0d2',
],
],
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->solutions()->backupRestore()->exchangeRestoreSessions()->byExchangeRestoreSessionId('exchangeRestoreSession-id')->patch($requestBody)->wait();
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
Import-Module Microsoft.Graph.BackupRestore
$params = @{
"mailboxRestoreArtifacts@delta" = @(
@{
restorePoint = @{
id = "1b014d8c-71fe-4d00-a01a-31850bc5b32c"
}
destinationType = "inPlace"
}
@{
restorePoint = @{
id = "2b014d8c-71fe-4d00-a01a-31850bc5b32"
}
destinationType = "inPlace"
}
@{
restorePoint = @{
id = "3b014d8c-71fe-4d00-a01a-31850bc5b32c"
}
destinationType = "inPlace"
}
@{
restorePoint = @{
id = "4b014d8c-71fe-4d00-a01a-31850bc5b32c"
}
destinationType = "inPlace"
}
@{
"@removed" = @{
reason = "changed"
}
id = "99954f18-c8ec-4b62-85bf-cdf3b70b140e"
}
@{
"@removed" = @{
reason = "changed"
}
id = "4267e382-71a9-4c07-bef7-bda97e09c0d2"
}
@{
"@removed" = @{
reason = "changed"
}
id = "3667e382-71a9-4c07-bef7-bda97e09c0d2"
}
)
}
Update-MgSolutionBackupRestoreExchangeRestoreSession -ExchangeRestoreSessionId $exchangeRestoreSessionId -BodyParameter $params
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.exchange_restore_session import ExchangeRestoreSession
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ExchangeRestoreSession(
additional_data = {
"mailbox_restore_artifacts@delta" : [
{
"restore_point" : {
"id" : "1b014d8c-71fe-4d00-a01a-31850bc5b32c",
},
"destination_type" : "inPlace",
},
{
"restore_point" : {
"id" : "2b014d8c-71fe-4d00-a01a-31850bc5b32",
},
"destination_type" : "inPlace",
},
{
"restore_point" : {
"id" : "3b014d8c-71fe-4d00-a01a-31850bc5b32c",
},
"destination_type" : "inPlace",
},
{
"restore_point" : {
"id" : "4b014d8c-71fe-4d00-a01a-31850bc5b32c",
},
"destination_type" : "inPlace",
},
{
"@removed" : {
"reason" : "changed",
},
"id" : "99954f18-c8ec-4b62-85bf-cdf3b70b140e",
},
{
"@removed" : {
"reason" : "changed",
},
"id" : "4267e382-71a9-4c07-bef7-bda97e09c0d2",
},
{
"@removed" : {
"reason" : "changed",
},
"id" : "3667e382-71a9-4c07-bef7-bda97e09c0d2",
},
],
}
)
result = await graph_client.solutions.backup_restore.exchange_restore_sessions.by_exchange_restore_session_id('exchangeRestoreSession-id').patch(request_body)
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 200 OK
Content-Type: application/json
{
"mailboxRestoreArtifacts@delta": [
{
"id": "89014d8c-71fe-4d00-a01a-31850bc5b32c",
"restorePoint": { "id": "1b014d8c-71fe-4d00-a01a-31850bc5b32c" },
"destinationType": "inPlace",
"status": "added",
"createdDateTime": "2015-06-19T12:01:03.45Z"
},
{
"id": "67014d8c-71fe-4d00-a01a-31850bc5b32c",
"restorePoint": { "id": "2b014d8c-71fe-4d00-a01a-31850bc5b32c" },
"destinationType": "inPlace",
"status": "added",
"createdDateTime": "2015-06-19T12:01:03.45Z"
},
{
"id": "56014d8c-71fe-4d00-a01a-31850bc5b32c",
"restorePoint": { "id": "3b014d8c-71fe-4d00-a01a-31850bc5b32c" },
"destinationType": "inPlace",
"status": "added",
"createdDateTime": "2015-06-19T12:01:03.45Z"
},
{
"id": "32014d8c-71fe-4d00-a01a-31850bc5b32c",
"restorePoint": { "id": "4b014d8c-71fe-4d00-a01a-31850bc5b32c" },
"destinationType": "inPlace",
"status": "added",
"createdDateTime": "2015-06-19T12:01:03.45Z"
},
{
//Error scenario
"@contentId": "3467e382-71a9-4c07-bef7-bda97e09c0d2", // To add context and more traceability.
"@Core.DataModificationException": {
"info": {
"code": "Invalid",
"message": "The identifier to be removed from the Restore Session does not exist"
},
"failedOperation": "remove",
"responseCode": 409
},
"id": "4267e382-71a9-4c07-bef7-bda97e09c0d2"
}
]
}