次の方法で共有


DigitalTwinsClient.CreateOrReplaceRelationshipAsync<T> メソッド

定義

デジタル ツインのリレーションシップを非同期的に作成します。 指定されたリレーションシップ ID が既に使用されている場合は、既存のリレーションシップを指定されたリレーションシップに置き換えようとします。

public virtual System.Threading.Tasks.Task<Azure.Response<T>> CreateOrReplaceRelationshipAsync<T> (string digitalTwinId, string relationshipId, T relationship, Azure.ETag? ifNoneMatch = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateOrReplaceRelationshipAsync : string * string * 'T * Nullable<Azure.ETag> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<'T>>
override this.CreateOrReplaceRelationshipAsync : string * string * 'T * Nullable<Azure.ETag> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<'T>>
Public Overridable Function CreateOrReplaceRelationshipAsync(Of T) (digitalTwinId As String, relationshipId As String, relationship As T, Optional ifNoneMatch As Nullable(Of ETag) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of T))

型パラメーター

T

リレーションシップを逆シリアル化する型。

パラメーター

digitalTwinId
String

ソース デジタル ツインの ID。

relationshipId
String

作成されるリレーションシップの ID。

relationship
T

作成するアプリケーション/json リレーションシップ。

ifNoneMatch
Nullable<ETag>

受信者キャッシュまたは配信元サーバーに対して要求メソッドを条件付きにする If-None-Match ヘッダー。ターゲット リソースの現在の表現はありません。 このプロパティの詳細については、「 RFC 7232」を参照してください。 許容される値は null または ""です。 IfNonMatch オプションが null の場合、サービスは既存のエンティティを新しいエンティティに置き換えます。 ifNoneMatch オプションが "" (または All) の場合、エンティティが既に存在する場合、サービスは要求を拒否します。 サービスで値が一致しない場合にのみ要求を行うオプションの ETag。

cancellationToken
CancellationToken

キャンセル トークン。

戻り値

例外

サービスからエラーをキャプチャする例外。 詳細については、 ErrorCode プロパティと Status プロパティを確認してください。

または relationshipId が の場合digitalTwinId、例外がnullスローされます。

var floorBuildingRelationshipPayload = new CustomRelationship
{
    Id = "floorBuildingRelationshipId",
    SourceId = "floorTwinId",
    TargetId = "buildingTwinId",
    Name = "containedIn",
    Prop1 = "Prop1 val",
    Prop2 = 4
};

Response<CustomRelationship> createCustomRelationshipResponse = await client
    .CreateOrReplaceRelationshipAsync<CustomRelationship>("floorTwinId", "floorBuildingRelationshipId", floorBuildingRelationshipPayload);
Console.WriteLine($"Created a digital twin relationship '{createCustomRelationshipResponse.Value.Id}' " +
    $"from twin '{createCustomRelationshipResponse.Value.SourceId}' to twin '{createCustomRelationshipResponse.Value.TargetId}'.");

注釈

リレーションシップは、デジタル ツインの割り当てられたモデルの作成時に説明されているように、ソース デジタル ツインから別のデジタル ツインへの一方向リンクです。

その他のサンプルについては、 リポジトリのサンプルを参照してください。

適用対象

こちらもご覧ください