Teilen über


Beispiel: Bildvorgänge über das Dataverse-SDK für .NET

Dieses Beispiel für .NET 6.0 veranschaulicht, wie Sie Vorgänge mit Bildspalten über das Dataverse-SDK für .NET durchführen.

In diesem Beispiel wird der Microsoft.PowerPlatform.Dataverse.Client.ServiceClient verwendet.

Anforderungen

  • Microsoft Visual Studio 2022
  • Greifen Sie mit Systemadministrator- oder Systemanpasserberechtigungen auf Dataverse zu.

Wie das Beispiel ausgeführt wird

  1. Klonen Sie das PowerApps-Beispiele-Repository oder laden Sie es herunter.

  2. Öffnen Sie die PowerApps-Samples\dataverse\orgsvc\C#-NETCore\ImageOperations\ImageOperations.sln-Datei mit Visual Studio 2022.

  3. Bearbeiten Sie die Datei appsettings.json. Legen Sie Parameter Url und Username für die Verbindungszeichenfolge fest, die für Ihre Testumgebung geeignet sind.

    Die Umgebungs-URL befindet sich im Power Platform Admin Center. Sie liegt im Format https://<environment-name> .crm.dynamics.com vor.

  4. Erstellen Sie die Lösung, und führen Sie dann das gewünschte Projekt aus.

Wenn das Beispiel ausgeführt wird, werden Sie im Standardbrowser aufgefordert, ein Umgebungsbenutzerkonto auszuwählen und ein Kennwort einzugeben. Um diesen Vorgang nicht bei jeder Ausführung eines Beispiels wiederholen zu müssen, fügen Sie einen Kennwortparameter in die Verbindungszeichenfolge in die Datei „appsettings.json“ ein. Zum Beispiel:

{
"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"
  }
}

Tipp

Sie können eine Benutzerumgebungsvariable mit dem Namen DATAVERSE_APPSETTINGS auf den Dateipfad der Datei appsettings.json festlegen, die auf Ihrem Computer gespeichert ist. Die Beispiele verwenden diese appsettings-Datei, wenn die Umgebungsvariable vorhanden und nicht Null ist. Achten Sie darauf, sich abzumelden und wieder anzumelden, nachdem Sie die Variable definiert haben, damit sie wirksam wird. Um eine Umgebungsvariable festzulegen, navigieren Sie zu Einstellungen > System > Info, wählen Sie Erweiterte Systemeinstellungen und dann Umgebungsvariablen aus.

Beispielausgabe

Die Ausgabe des Beispiels sollte in etwa so aussehen:

Creating image column named 'sample_ImageColumn' on the account table ...
Created image column named 'sample_ImageColumn' in the account table.
Create 5 records while CanStoreFullImage is false.
        Created account: 'CanStoreFullImage false 144x144.png'
        Created account: 'CanStoreFullImage false 144x400.png'
        Created account: 'CanStoreFullImage false 400x144.png'
        Created account: 'CanStoreFullImage false 400x500.png'
        Created account: 'CanStoreFullImage false 60x80.png'
Set the CanStoreFullImage property to True
Create 5 records while CanStoreFullImage is true.
        Created account: 'CanStoreFullImage true 144x144.png'
        Created account: 'CanStoreFullImage true 144x400.png'
        Created account: 'CanStoreFullImage true 400x144.png'
        Created account: 'CanStoreFullImage true 400x500.png'
        Created account: 'CanStoreFullImage true 60x80.png'
Retrieving records with thumbnail images:
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 144x144.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 144x400.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 400x144.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 400x500.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 60x80.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 144x144.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 144x400.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 400x144.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 400x500.png_retrieved.png
        Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 60x80.png_retrieved.png
Attempt to download full-size images for all 10 records. 5 should fail.
        Download failed: No FileAttachment records found for imagedescriptorId: a81a473d-3a8d-ed11-81ad-000d3a993550 for image attribute: sample_imagecolumn of account record with id a51a473d-3a8d-ed11-81ad-000d3a993550
        Download failed: No FileAttachment records found for imagedescriptorId: 2a813f43-3a8d-ed11-81ad-000d3a993550 for image attribute: sample_imagecolumn of account record with id 29813f43-3a8d-ed11-81ad-000d3a993550
        Download failed: No FileAttachment records found for imagedescriptorId: 2e813f43-3a8d-ed11-81ad-000d3a993550 for image attribute: sample_imagecolumn of account record with id 2d813f43-3a8d-ed11-81ad-000d3a993550
        Download failed: No FileAttachment records found for imagedescriptorId: 34813f43-3a8d-ed11-81ad-000d3a993550 for image attribute: sample_imagecolumn of account record with id 32813f43-3a8d-ed11-81ad-000d3a993550
        Download failed: No FileAttachment records found for imagedescriptorId: 3d813f43-3a8d-ed11-81ad-000d3a993550 for image attribute: sample_imagecolumn of account record with id 3c813f43-3a8d-ed11-81ad-000d3a993550
        Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x144.png_downloaded.png
        Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x400.png_downloaded.png
        Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x144.png_downloaded.png
        Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x500.png_downloaded.png
        Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 60x80.png_downloaded.png
Deleted the records created for this sample.
Deleting the image column named 'sample_ImageColumn' on the account table ...
Deleted the image column named 'sample_ImageColumn' in the account table.
Sample completed.

Veranschaulichung

Der Code füe dieses Beispiel sind in der Datei Program.cs enthalten.

Das Projekt verwendet die Utility-Klasse, um Vorgänge zum Erstellen oder Abrufen von Schemadaten durchzuführen. Diese Klasse ist in der Datei Utility.cs enthalten.

Dieses Projekt führt diese Vorgänge aus:

Bildspalte erstellen

Dieses Beispiel muss eine neue Bildspalte erstellen, die das primäre Bild für die Kontotabelle ist. Es muss auch das System in den ursprünglichen Status zurückversetzen, wenn es fertig ist. Also werden diese Schritte durchgeführt:

  1. Erfassen Sie den ursprünglichen primären Bildnamen mithilfe der Utility.GetTablePrimaryImageName-Methode.

  2. Verwenden Sie die Utility.CreateImageColumn-Methode, um eine neue Bildspalte mit dem Namen sample_ImageColumn in der Kontotabelle zu erstellen, falls sie noch nicht vorhanden ist.

    Hinweis

    Der CanStoreFullImage-Wert dieser Bildspalte ist „false“.

  3. Verwenden Sie die Utility.SetTablePrimaryImageName-Methode, um die sample_ImageColumn zum primären Bild zu machen.

Kontodatensätze mit Bilddaten erstellen

  1. Das Programm durchläuft eine Liste mit fünf Dateinamen, die mit den Namen der Dateien im Images-Ordner übereinstimmen.
  2. Für jedes Bild erstellt es einen Kontodatensatz, wobei name auf CanStoreFullImage false {fileName} festgelegt ist und die Datei byte[] als sample_ImageColumn-Wert festgelegt ist.
  3. Das Programm verwendet dann die Utility.UpdateCanStoreFullImage-Methode, um den CanStoreFullImage-Wert der Definition sample_ImageColumn auf „true“ festzulegen.
  4. Wieder durchläuft das Programm die Dateinamen und erstellt fünf Kontodatensätze mit denselben Bilddateien, die auf den sample_ImageColumn-Wert eingestellt sind. Diesmal wird der name wie folgt festgelegt: CanStoreFullImage true {fileName}.

Im folgenden Programm sehen wir, wie durch Wert der Eigenschaft CanStoreFullImage verändert wird, welche Daten verfügbar sind.

Kontodatensätze abrufen

  1. Das Programm ruft die 10 Kontodatensätze ab, die im vorherigen Schritt erstellt wurden, einschließlich der Bilddaten.

  2. Für jeden Kontodatensatz werden die Bilddaten in den DownloadedImages-Ordner mit dem Namen {recordName}_retrieved.png heruntergeladen.

    Hinweis

    Alle diese Datensätze sind Bilder in Miniaturansicht-Größe.

Kontodatensatzbilder herunterladen

Das Programm verwendet die statische DownloadFile-Methode, die die Verwendung der InitializeFileBlocksDownloadRequest- und DownloadBlockRequest-Klassen umfasst, um die Dateien herunterzuladen.

Hinweis

Es wird erwartet, dass 5 der 10 Vorgänge fehlschlagen, weil keine Bilder in voller Größe hochgeladen wurden, während CanStoreFullImage „false“ war. Bei den Datensätzen, die erstellt wurde, während CanStoreFullImage „true“ war, schlagen die Vorgänge nicht fehl.

Bilddaten löschen

  1. Das Programm löscht die Bilddaten für jeden Kontodatensatz, indem es den sample_ImageColumn-Wert auf null setzt und den Datensatz aktualisiert.
  2. Das Programm überprüft die Löschung, indem es die Datensätze unter Verwendung derselben Kriterien wie zuvor erneut abruft. Für das CanStoreFullImage-Attribut wird kein Wert zurückgegeben, weil es null ist.

Bereinigung

Um das System im Zustand vor der Ausführung des Beispiels zu belassen, bevor die Probe ausgeführt wurde, werden folgende Schritte ausgeführt:

  • Kontodatensätze löschen
  • Das primäre Bild auf den Ursprung zurücksetzen
  • Bildspalte löschen

Siehe auch

Bildspaltendaten verwenden
Mithilfe von Code mit Bildspaltendefinitionen arbeiten
Dateispaltendaten verwenden
Beispiel: Bildvorgänge über die Dataverse-API

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).