Exemple : opérations sur les images en utilisant le kit SDK Dataverse pour .NET
Cet exemple .NET 6.0 montre comment effectuer des opérations avec les colonnes d’images en utilisant le kit SDK Dataverse pour .NET.
Cet exemple utilise Microsoft.PowerPlatform.Dataverse.Client.ServiceClient.
Conditions préalables
- Microsoft Visual Studio 2022
- Accédez à Dataverse avec les privilèges d’administrateur système ou de personnalisateur du système.
Comment exécuter l’exemple
Clonez ou téléchargez le référentiel Exemples PowerApps.
Ouvrez le fichier
PowerApps-Samples\dataverse\orgsvc\C#-NETCore\ImageOperations\ImageOperations.sln
en utilisant Visual Studio 2022.Modifiez le fichier appsettings.json. Définissez les paramètres
Url
etUsername
de la chaîne de connexion en fonction de votre environnement de test.L’URL de l’environnement se trouve dans le centre d’administration Power Platform. Elle se présente sous la forme https://<environment-name>.crm.dynamics.com.
Générez la solution, puis exécutez le projet souhaité.
Lors de l’exécution de l’exemple, vous serez invité dans le navigateur par défaut à sélectionner un compte d’utilisateur de l’environnement et à saisir un mot de passe. Pour éviter d’effectuer cette opération à chaque fois que vous exécutez un exemple, insérez un paramètre de mot de passe dans la chaîne de connexion du fichier appsettings.json. Par exemple :
{
"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"
}
}
Conseil
Vous pouvez définir une variable d’environnement utilisateur nommée DATAVERSE_APPSETTINGS sur le chemin d’accès du fichier appsettings.json stocké n’importe où sur votre ordinateur. Les exemples utiliseront ce fichier appsettings si la variable d’environnement existe et n’est pas nulle. Assurez-vous de vous déconnecter et de vous reconnecter après avoir défini la variable pour qu’elle prenne effet. Pour définir une variable d’environnement, accédez à Paramètres > Système > À propos de, sélectionnez Paramètres système avancés, puis choisissez Variables d’environnement.
Sortie de l’exemple
La sortie de l’exemple doit ressembler à ce qui suit :
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.
Montre ce qui suit
Le code de cet exemple se trouve dans le fichier Program.cs.
Le projet utilise une classe Utility
pour effectuer des opérations impliquant la création ou la récupération des données de schéma. Cette classe se trouve dans le fichier Utility.cs.
Ce projet effectue ces opérations :
Créer une colonne d’image
Cet exemple doit créer une nouvelle colonne d’image qui est l’image principale de la table du compte. Il doit également remettre le système dans son état d’origine une fois terminé. Les étapes suivantes sont donc réalisées :
Capturez le nom de l’image principale d’origine à l’aide de la méthode
Utility.GetTablePrimaryImageName
.Utilisez la méthode
Utility.CreateImageColumn
pour créer une nouvelle colonne d’image nomméesample_ImageColumn
sur la table du compte si elle n’existe pas déjà.Notes
Cette valeur
CanStoreFullImage
de colonne d’images est fausse.Utilisez la méthode
Utility.SetTablePrimaryImageName
pour faire desample_ImageColumn
l’image principale.
Créer des enregistrements de compte avec des données d’image
- Le programme parcourt en boucle une liste de cinq noms de fichiers qui correspondent aux noms des fichiers du dossier
Images
. - Pour chaque image, il crée un enregistrement de compte dont le
name
est défini surCanStoreFullImage false {fileName}
et le fichierbyte[]
est défini comme valeur desample_ImageColumn
. - Le programme utilise alors la méthode
Utility.UpdateCanStoreFullImage
pour définir la valeur de définitionsample_ImageColumn
CanStoreFullImage
sur vrai. - Une fois de plus, le programme passe en revue les noms de fichiers et crée cinq enregistrements de compte avec les mêmes fichiers d’image définis avec la valeur
sample_ImageColumn
. Cette fois-ci, lename
est défini comme suit :CanStoreFullImage true {fileName}
.
Dans le programme suivant, nous pouvons voir comment la valeur de la propriété CanStoreFullImage
modifie les données disponibles.
Récupérer les enregistrements du compte
Le programme récupère les 10 enregistrements de compte créés à l’étape précédente, y compris les données d’image.
Pour chaque enregistrement de compte, les données d’image sont téléchargées dans le dossier
DownloadedImages
sous le nom{recordName}_retrieved.png
.Notes
Tous ces enregistrements sont des images de la taille d’une miniature.
Télécharger les images des enregistrements de compte
Le programme utilise la méthode statique DownloadFile
, qui encapsule l’utilisation des classes InitializeFileBlocksDownloadRequest et DownloadBlockRequest pour télécharger les fichiers.
Notes
On s’attend à ce que 5 des 10 opérations échouent parce qu’aucune image de taille normale n’a été téléchargée alors que la valeur CanStoreFullImage
était définie sur faux. Les enregistrements créés pendant que la valeur CanStoreFullImage
était définie sur vrai ont réussi.
Supprimer les données d’image
- Le programme supprime les données d’image pour chaque enregistrement de compte en définissant la valeur
sample_ImageColumn
comme null et en mettant à jour l’enregistrement. - Le programme vérifie la suppression en recherchant à nouveau les enregistrements en utilisant les mêmes critères que précédemment. Aucune valeur n’est renvoyée pour l’attribut
CanStoreFullImage
car il est défini sur null.
Nettoyer
Pour laisser le système dans l’état antérieur à l’exécution de l’exemple, il effectue les opérations suivantes :
- Supprimer les enregistrements du compte
- Rétablir l’image principale à l’état d’origine
- Supprimer la colonne d’images
Voir aussi
Utiliser les données de colonne d’image
Utiliser des définitions de colonne d’image avec du code
Utiliser les données de colonne de fichier
Exemple : opérations sur les images en utilisant l’API Web de Dataverse
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).