Partager via


Accorder un accès limité aux fichiers Dataverse à l’aide de signatures d’accès partagé

Pendant une heure, toute personne peut télécharger un fichier stocké dans Dataverse à l’aide d’une URL générée avec le message GetFileSasUrl. Cette URL fournit un accès anonyme à toute personne pendant cette heure, à partir du moment où l’URL est générée. La personne qui appelle GetFileSasUrl pour générer l’URL doit avoir accès à l’enregistrement contenant le fichier.

Les fichiers peuvent être des pièces jointes, des notes, des colonnes de fichiers ou des colonnes d’images. Certaines limitations s’appliquent

Nonte

Les administrateurs peuvent configurer le client pour limiter les téléchargements en fonction de l’adresse IP des applications clientes à l’aide de la fonctionnalité de restriction IP SAS (version préliminaire). Lorsque cette option est activée, les utilisateurs obtiennent une erreur 401 lorsque l’adresse IP de leur ordinateur ne répond pas aux restrictions définies pour le client et qu’ils essaient de télécharger le fichier.

Paramètres

Le message GetFileSasUrl a les paramètres suivants :

Nonm Type Description
Target EntityReference/
crmbaseentity
Identifie la ligne de la table avec les données du fichier ou de l’image.
FileAttributeName chaîne Identifie le nom de la colonne de fichier ou d’image avec les données. Pour les enregistrements de notes et d’attributs, cette valeur doit être une chaîne vide.
DataSource chaîne Valeur « retained » ou « bin » lorsque l’enregistrement a été marqué pour la conservation des données à long terme ou supprimé dans une table avec la fonction de corbeille activée.

Réponse

Les données renvoyées par le message GetFileSasUrl ont une propriété Result avec ces données :

Nonm Type Description
FileName chaîne Nom du fichier.
FileSizeInBytes int64 Taille du fichier en octets.
MimeType chaîne Type MIME du fichier.
SasUrl chaîne URL de la signature d’accès partagé (SAS) qui peut être utilisée pour accéder au fichier.

Exemples

Ces exemples de fonctions montrent comment utiliser le message GetFileSasUrl avec le SDK pour .NET et l’API Web.

Cette méthode statique GetFileSasUrl utilise les classes GetFileSasUrlRequest et GetFileSasUrlResponse. La propriété GetFileSasUrlResponse.Response.Result renvoie une instance de la classe FileSasUrlResponse avec les informations nécessaires pour télécharger un fichier de manière anonyme.

/// <summary>
/// Generates a link for anonymous access to a file.
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance.</param>
/// <param name="target">The record that has the file data.</param>
/// <param name="fileAttributeName">Optional name of the file or image column</param>
/// <param name="dataSource">Optional source of the data when retained or deleted.</param>
/// <returns>Information to download a file</returns>
static FileSasUrlResponse GetFileSasUrl(IOrganizationService service, 
    EntityReference target, 
    string? fileAttributeName = null, 
    string? dataSource = null) { 

    var request = new GetFileSasUrlRequest() { 
        Target = target
    };

    if (target.LogicalName == "annotation" ||
        target.LogicalName == "activitymimeattachment"){

        //FileAttributeName is required
        request.FileAttributeName = string.Empty;

    }
    else
    {

        if (!string.IsNullOrEmpty(fileAttributeName))
        {
            request.FileAttributeName = fileAttributeName;
        }
        else
        {

            string message = "fileAttributeName is required ";
            message += "when the target isn't annotation ";
            message += "or activitymimeattachment";

            throw new Exception(message);
        }
    }
    
    if (!string.IsNullOrEmpty(dataSource)) {
        //dataSource should be 'retained' or 'bin'
        request.DataSource = dataSource;
    }

   var response = (GetFileSasUrlResponse)service.Execute(request);

    return response.Result;        
}

Utiliser le SDK pour .NET

Limitations

Les restrictions suivantes s’appliquent :

Voir aussi

Vue d’ensemble des fichiers et des images
Utiliser les données de colonne de fichier
Utiliser les données de colonne d’image
Utiliser des données de fichier avec des enregistrements de pièce jointe et de note