DeviceManagementClient.CreateOrUpdateDeploymentAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt oder aktualisiert eine Bereitstellung.
public virtual System.Threading.Tasks.Task<Azure.Response> CreateOrUpdateDeploymentAsync (string groupId, string deploymentId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateOrUpdateDeploymentAsync : string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.CreateOrUpdateDeploymentAsync : string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function CreateOrUpdateDeploymentAsync (groupId As String, deploymentId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)
Parameter
- groupId
- String
Gruppen-ID.
- deploymentId
- String
Bereitstellungsbezeichner.
- content
- RequestContent
Der Inhalt, der als Textkörper der Anforderung gesendet werden soll. Details zum Anforderungstextschema finden Sie im Abschnitt Hinweise unten.
- context
- RequestContext
Der Anforderungskontext, der das Standardverhalten der Clientpipeline pro Aufruf außer Kraft setzen kann.
Gibt zurück
Die vom Dienst zurückgegebene Antwort. Details zum Antworttextschema finden Sie im Abschnitt Hinweise unten.
Ausnahmen
groupId
, deploymentId
oder content
ist NULL.
groupId
oder deploymentId
ist eine leere Zeichenfolge und wurde erwartet, dass sie nicht leer ist.
Der Dienst hat einen nicht erfolgreichen status Code zurückgegeben.
Beispiele
In diesem Beispiel wird gezeigt, wie CreateOrUpdateDeploymentAsync mit den erforderlichen Parametern und Anforderungsinhalten aufgerufen und das Ergebnis analysiert wird.
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);
var data = new {
deploymentId = "<deploymentId>",
startDateTime = "2022-05-10T18:57:31.2311892Z",
update = new {
updateId = new {
provider = "<provider>",
name = "<name>",
version = "<version>",
},
},
groupId = "<groupId>",
};
Response response = await client.CreateOrUpdateDeploymentAsync("<groupId>", "<deploymentId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("deploymentId").ToString());
Console.WriteLine(result.GetProperty("startDateTime").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("groupId").ToString());
In diesem Beispiel wird gezeigt, wie CreateOrUpdateDeploymentAsync mit allen Parametern und Anforderungsinhalten aufgerufen wird und wie das Ergebnis analysiert wird.
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);
var data = new {
deploymentId = "<deploymentId>",
startDateTime = "2022-05-10T18:57:31.2311892Z",
update = new {
updateId = new {
provider = "<provider>",
name = "<name>",
version = "<version>",
},
},
groupId = "<groupId>",
deviceClassSubgroups = new[] {
"<String>"
},
isCanceled = true,
isRetried = true,
rollbackPolicy = new {
update = new {
updateId = new {
provider = "<provider>",
name = "<name>",
version = "<version>",
},
},
failure = new {
devicesFailedPercentage = 1234,
devicesFailedCount = 1234,
},
},
isCloudInitiatedRollback = true,
};
Response response = await client.CreateOrUpdateDeploymentAsync("<groupId>", "<deploymentId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("deploymentId").ToString());
Console.WriteLine(result.GetProperty("startDateTime").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("update").GetProperty("friendlyName").ToString());
Console.WriteLine(result.GetProperty("groupId").ToString());
Console.WriteLine(result.GetProperty("deviceClassSubgroups")[0].ToString());
Console.WriteLine(result.GetProperty("isCanceled").ToString());
Console.WriteLine(result.GetProperty("isRetried").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("friendlyName").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("failure").GetProperty("devicesFailedPercentage").ToString());
Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("failure").GetProperty("devicesFailedCount").ToString());
Console.WriteLine(result.GetProperty("isCloudInitiatedRollback").ToString());
Hinweise
Im Folgenden finden Sie das JSON-Schema für die Anforderungs- und Antwortnutzlasten.
Anforderungstext:
Schema für Deployment
:
{
deploymentId: string, # Required. The caller-provided deployment identifier. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote. The Updates view in the Azure Portal IoT Hub resource generates a GUID for deploymentId when you create a deployment.
startDateTime: string (ISO 8601 Format), # Required. The deployment start datetime.
update: {
updateId: {
provider: string, # Required. Update provider.
name: string, # Required. Update name.
version: string, # Required. Update version.
}, # Required. Update identifier.
description: string, # Optional. Update description.
friendlyName: string, # Optional. Friendly update name.
}, # Required. Update information for the update in the deployment.
groupId: string, # Required. The group identity for the devices the deployment is intended to update.
deviceClassSubgroups: [string], # Optional. The device class subgroups the deployment is compatible with and subgroup deployments have been created for. This is not provided by the caller during CreateOrUpdateDeployment but is automatically determined by Device Update
isCanceled: boolean, # Optional. Boolean flag indicating whether the deployment was canceled.
isRetried: boolean, # Optional. Boolean flag indicating whether the deployment has been retried.
rollbackPolicy: {
update: UpdateInfo, # Required. Update to rollback to.
failure: {
devicesFailedPercentage: number, # Required. Percentage of devices that failed.
devicesFailedCount: number, # Required. Number of devices that failed.
}, # Required. Failure conditions to initiate rollback policy.
}, # Optional. The rollback policy for the deployment.
isCloudInitiatedRollback: boolean, # Optional. Boolean flag indicating whether the deployment is a rollback deployment.
}
Antworttext:
Schema für Deployment
:
{
deploymentId: string, # Required. The caller-provided deployment identifier. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote. The Updates view in the Azure Portal IoT Hub resource generates a GUID for deploymentId when you create a deployment.
startDateTime: string (ISO 8601 Format), # Required. The deployment start datetime.
update: {
updateId: {
provider: string, # Required. Update provider.
name: string, # Required. Update name.
version: string, # Required. Update version.
}, # Required. Update identifier.
description: string, # Optional. Update description.
friendlyName: string, # Optional. Friendly update name.
}, # Required. Update information for the update in the deployment.
groupId: string, # Required. The group identity for the devices the deployment is intended to update.
deviceClassSubgroups: [string], # Optional. The device class subgroups the deployment is compatible with and subgroup deployments have been created for. This is not provided by the caller during CreateOrUpdateDeployment but is automatically determined by Device Update
isCanceled: boolean, # Optional. Boolean flag indicating whether the deployment was canceled.
isRetried: boolean, # Optional. Boolean flag indicating whether the deployment has been retried.
rollbackPolicy: {
update: UpdateInfo, # Required. Update to rollback to.
failure: {
devicesFailedPercentage: number, # Required. Percentage of devices that failed.
devicesFailedCount: number, # Required. Number of devices that failed.
}, # Required. Failure conditions to initiate rollback policy.
}, # Optional. The rollback policy for the deployment.
isCloudInitiatedRollback: boolean, # Optional. Boolean flag indicating whether the deployment is a rollback deployment.
}
Gilt für:
Azure SDK for .NET