サンプル: .NET 用 Dataverse SDK を使用した添付ファイルとメモのファイル操作
この .NET 6.0 サンプルは、.NET 用 Dataverse SDK を使って、ファイル データを添付ファイル (ActivityMimeAttachment) と 注記 (注釈) と併用して操作を実行する方法を示しています。
このサンプルでは、Microsoft.PowerPlatform.Dataverse.Client.ServiceClient Class を使用します。
前提条件
- Microsoft Visual Studio 2022
- システム管理者権限またはシステムカスタマイザー権限を持つ Dataverse へのアクセス。
サンプルを実行する方法
PowerApps-サンプル リポジトリをクローンまたはダウンロードします。
Visual Studio 2022 を使用して
PowerApps-Samples\dataverse\orgsvc\C#-NETCore\AttachmentAndAnnotationOperations\AttachmentAndAnnotationOperations.sln
ファイルを開きます。このソリューションには、サンプルを含む 2 つのプロジェクトが含まれています。
- ActivityMimeAttachmentOperations: 添付ファイルの使用方法を示します。
- AnnotationOperations: 注釈の使用方法を示します。
ソリューション エクスプローラーで、実行するプロジェクトを右クリックして、スタートアップ プロジェクトとして設定 を選択します。
いずれかのプロジェクトで、appsettings.json ファイルを編集します。 接続文字列
Url
とUsername
のパラメーターをテスト環境に応じて適切に設定します。環境の Url は、Power Platform 管理センターで確認することができます。
https://<environment-name>.crm.dynamics.com
という形式です。ソリューションをビルドし、目的のプロジェクトを実行します。
サンプルを実行すると、既定のブラウザーで、環境ユーザー アカウントを選択してパスワードを入力するように求められます。 サンプルを実行するたびにこの操作を行う必要がないように、appsettings.json
ファイルの接続文字列にパスワード パラメーターを挿入してください。 例:
{
"ConnectionStrings": {
"default": "AuthType=OAuth;Url=https://myorg.crm.dynamics.com;Username=someone@myorg.onmicrosoft.com;Password=mypassword;RedirectUri=http://localhost;AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;LoginPrompt=Auto"
}
}
アプリケーション コードでの接続文字列の使用については、次の重要な情報をお読みください。
重要
Microsoft では、利用可能な最も安全な認証フローを使用することをお勧めします。 この記事で説明する認証フローは、アプリケーションに対する非常に高い信頼を必要とし、他のフローには存在しないリスクを伴います。 このフローは、マネージド ID など、他のより安全なフローが実行できない場合にのみ使用してください。
チップ
DATAVERSE_APPSETTINGS
という名前のユーザー環境変数に、コンピューターの任意の場所に保存されている appsettings.json ファイルのパスを設定することができます。 環境変数が存在し、null でない場合、サンプルはその appsettings ファイルを使用します。 変数を有効にするには、変数を定義した後、必ずログアウトして再度ログインしてください。 環境変数を設定するには、設定 > システム > 概要にアクセスし、高度なシステム設定を選択し、環境変数を選択します。
実際の動作
このサンプルは、2 つのプロジェクトによるソリューションです。 各プロジェクトの詳細については、それぞれの README ファイルを参照してください。
ユーティリティ クラス
両方のプロジェクトでは、共通の操作を行うために、共有の Utility
クラスが使用されます。 このクラスには、次の 3 つの静的メソッドが含まれています。
GetMimeType
FileInfo パラメーターに基づいて、この関数は Microsoft.AspNetCore.StaticFiles.FileExtensionContentTypeProvider を使って、ファイルの mimetype を取得しようとします。 判別できない場合は、application/octet-stream
が返されます
GetMaxUploadFileSize
IOrganizationServiceservice
パラメーターを使用して、この関数は organization
テーブルからの整数 maxuploadfilesize
値を返します。
SetMaxUploadFileSize
IOrganizationServiceservice
パラメーターを使用して、この関数は organization
テーブルからの整数 maxuploadfilesize
値を、整数 maxUploadFileSizeInBytes
パラメーターの値に設定します。
参照
添付ファイルとメモ レコードでファイル データを使用する
サンプル: Dataverse Web API を使用した添付ファイルと注釈ファイルの操作