Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta
Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Erstellen Sie ein neues Gerät aus einer deviceTemplate.Create a new deviceTemplate.
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) |
Device.CreateFromOwnedTemplate |
Nicht verfügbar. |
Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
Anwendung |
Nicht unterstützt |
Nicht unterstützt |
Wichtig
In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit einer unterstützten Rollenberechtigung zugewiesen werden. Für diesen Vorgang werden die folgenden Rollen mit den geringsten Berechtigungen unterstützt:
- Cloudgeräteadministrator
- IoT-Geräteadministrator
- Benutzer: Besitzer des Gerätevorlagenobjekts
Anmerkung: Benutzer müssen Besitzer des Objekts sein.
HTTP-Anforderung
POST /directory/templates/deviceTemplates/{deviceTemplateId}/createDeviceFromTemplate
Anforderungstext
Geben Sie im Anforderungstext eine JSON-Darstellung der Parameter an.
In der folgenden Tabelle sind die Parameter aufgeführt, die Sie verwenden können, wenn Sie diese Aktion aufrufen.
Parameter |
Typ |
Beschreibung |
accountEnabled |
Boolesch |
true , wenn das Konto aktiviert ist; andernfalls false . Der Standardwert ist true . Ein deaktiviertes Gerät kann sich nicht mit Microsoft Entra ID authentifizieren. Optional. |
alternativeNames |
Zeichenfolgenauflistung |
Eine Sammlung von ARM-Ressourcen-IDs, die dem Gerät zugeordnet sind, falls vorhanden. Optional. |
externalDeviceId |
Zeichenfolge |
ID des Geräts in der IoT-Registrierung. Muss innerhalb eines Mandanten eindeutig sein. Erforderlich. |
externalSourceName |
Zeichenfolge |
Gibt den Quellnamen des Geräts an. Optional. |
keyCredential |
keyCredential |
Die Schlüsselanmeldeinformationen, wenn Sie selbstsignierte Zertifikate verwenden. Optional. |
operatingSystemVersion |
Zeichenfolge |
Die Betriebssystemversion des angegebenen Geräts. Optional. |
Antwort
Wenn die Aktion erfolgreich verläuft, werden der 200 OK
Antwortcode und ein Geräteobjekt im Antworttext zurückgegeben.
Weitere Informationen finden Sie unter Microsoft Graph-Fehlerantworten und -Ressourcentypen.
Beispiele
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/beta/templates/deviceTemplates/2d62b12a-0163-457d-9796-9602e9807e1/createDeviceFromTemplate
Content-Type: application/json
{
"externalDeviceId": "2fa9424e-7ab0-4a22-8c90-2a20d15d8183",
"operatingSystemVersion": "Ubuntu 18.04",
"externalSourceName": "unknown",
"accountEnabled": false,
"alternativeNames": [
"/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1"
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Templates.DeviceTemplates.Item.CreateDeviceFromTemplate;
var requestBody = new CreateDeviceFromTemplatePostRequestBody
{
ExternalDeviceId = "2fa9424e-7ab0-4a22-8c90-2a20d15d8183",
OperatingSystemVersion = "Ubuntu 18.04",
ExternalSourceName = "unknown",
AccountEnabled = false,
AlternativeNames = new List<string>
{
"/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Templates.DeviceTemplates["{deviceTemplate-id}"].CreateDeviceFromTemplate.PostAsync(requestBody);
mgc-beta templates device-templates create-device-from-template post --device-template-id {deviceTemplate-id} --body '{\
"externalDeviceId": "2fa9424e-7ab0-4a22-8c90-2a20d15d8183",\
"operatingSystemVersion": "Ubuntu 18.04",\
"externalSourceName": "unknown",\
"accountEnabled": false,\
"alternativeNames": [\
"/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1"\
]\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphtemplates "github.com/microsoftgraph/msgraph-beta-sdk-go/templates"
//other-imports
)
requestBody := graphtemplates.NewCreateDeviceFromTemplatePostRequestBody()
externalDeviceId := "2fa9424e-7ab0-4a22-8c90-2a20d15d8183"
requestBody.SetExternalDeviceId(&externalDeviceId)
operatingSystemVersion := "Ubuntu 18.04"
requestBody.SetOperatingSystemVersion(&operatingSystemVersion)
externalSourceName := "unknown"
requestBody.SetExternalSourceName(&externalSourceName)
accountEnabled := false
requestBody.SetAccountEnabled(&accountEnabled)
alternativeNames := []string {
"/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1",
}
requestBody.SetAlternativeNames(alternativeNames)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
createDeviceFromTemplate, err := graphClient.Templates().DeviceTemplates().ByDeviceTemplateId("deviceTemplate-id").CreateDeviceFromTemplate().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.templates.devicetemplates.item.createdevicefromtemplate.CreateDeviceFromTemplatePostRequestBody createDeviceFromTemplatePostRequestBody = new com.microsoft.graph.beta.templates.devicetemplates.item.createdevicefromtemplate.CreateDeviceFromTemplatePostRequestBody();
createDeviceFromTemplatePostRequestBody.setExternalDeviceId("2fa9424e-7ab0-4a22-8c90-2a20d15d8183");
createDeviceFromTemplatePostRequestBody.setOperatingSystemVersion("Ubuntu 18.04");
createDeviceFromTemplatePostRequestBody.setExternalSourceName("unknown");
createDeviceFromTemplatePostRequestBody.setAccountEnabled(false);
LinkedList<String> alternativeNames = new LinkedList<String>();
alternativeNames.add("/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1");
createDeviceFromTemplatePostRequestBody.setAlternativeNames(alternativeNames);
Device result = graphClient.templates().deviceTemplates().byDeviceTemplateId("{deviceTemplate-id}").createDeviceFromTemplate().post(createDeviceFromTemplatePostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const device = {
externalDeviceId: '2fa9424e-7ab0-4a22-8c90-2a20d15d8183',
operatingSystemVersion: 'Ubuntu 18.04',
externalSourceName: 'unknown',
accountEnabled: false,
alternativeNames: [
'/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1'
]
};
await client.api('/templates/deviceTemplates/2d62b12a-0163-457d-9796-9602e9807e1/createDeviceFromTemplate')
.version('beta')
.post(device);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Templates\DeviceTemplates\Item\CreateDeviceFromTemplate\CreateDeviceFromTemplatePostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateDeviceFromTemplatePostRequestBody();
$requestBody->setExternalDeviceId('2fa9424e-7ab0-4a22-8c90-2a20d15d8183');
$requestBody->setOperatingSystemVersion('Ubuntu 18.04');
$requestBody->setExternalSourceName('unknown');
$requestBody->setAccountEnabled(false);
$requestBody->setAlternativeNames(['/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1', ]);
$result = $graphServiceClient->templates()->deviceTemplates()->byDeviceTemplateId('deviceTemplate-id')->createDeviceFromTemplate()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.templates.devicetemplates.item.create_device_from_template.create_device_from_template_post_request_body import CreateDeviceFromTemplatePostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CreateDeviceFromTemplatePostRequestBody(
external_device_id = "2fa9424e-7ab0-4a22-8c90-2a20d15d8183",
operating_system_version = "Ubuntu 18.04",
external_source_name = "unknown",
account_enabled = False,
alternative_names = [
"/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1",
],
)
result = await graph_client.templates.device_templates.by_device_template_id('deviceTemplate-id').create_device_from_template.post(request_body)
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
{
"id": "06d59f74-dbf3-432a-9971-c5f60374e4f0",
"accountEnabled": false,
"alternativeNames": [
"/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/testrg/providers/microsoft.deviceregistry/assets/asset1"
],
"deviceId": "c6ca2657-8685-4398-9edc-a6a603f177b3",
"displayName": "2fa9424e-7ab0-4a22-8c90-2a20d15d8183",
"externalSourceName": "unknown",
"manufacturer": "IoT Device Template Manufacturer",
"model": "IoT Device Template Model",
"operatingSystem": "WindowsIoT",
"operatingSystemVersion": "Ubuntu 18.04",
"physicalIds": [
"[EXTID]:2fa9424e-7ab0-4a22-8c90-2a20d15d8183"
],
"profileType": "IoT",
"sourceType": "External",
"alternativeSecurityIds": [
{
"type": 2,
"identityProvider": null,
"key": "WAA1ADAAOQA6ADwAVQB..."
}
]
}