Récupérer des données à partir du stockage Azure

Dernière mise à jour : 2024-02-01
  • Créé pour :
  • Beginner
    Developer

Dans cet article, découvrez comment remplir un formulaire adaptatif avec les données stockées dans le stockage Azure.
Nous partons du principe que vous avez stocké les données de formulaire adaptatif dans le stockage Azure et que vous souhaitez maintenant préremplir votre formulaire adaptatif avec ces données.

REMARQUE

Le code de cet article ne fonctionne pas avec le formulaire adaptatif basé sur les composants principaux.L’article équivalent pour le formulaire adaptatif basé sur les composants principaux est disponible ici

Créer une requête GET

L’étape suivante consiste à écrire le code permettant de récupérer les données du stockage Azure à l’aide de l’ID d’objet blob. Le code suivant permet de récupérer les données. L’URL a été créée à l’aide des valeurs sasToken et storageURI de la configuration OSGi et de l’ID d’objet blob transmis à la fonction getBlobData.

 @Override
public String getBlobData(String blobID) {
    String sasToken = azurePortalConfigurationService.getSASToken();
    String storageURI = azurePortalConfigurationService.getStorageURI();
    log.debug("The SAS Token is " + sasToken);
    log.debug("The Storage URL is " + storageURI);
    String httpGetURL = storageURI + blobID;
    httpGetURL = httpGetURL + sasToken;
    HttpGet httpGet = new HttpGet(httpGetURL);

    org.apache.http.impl.client.CloseableHttpClient httpClient = HttpClientBuilder.create().build();
    CloseableHttpResponse httpResponse = null;
    try {
        httpResponse = httpClient.execute(httpGet);
        HttpEntity httpEntity = httpResponse.getEntity();
        String blobData = EntityUtils.toString(httpEntity);
        log.debug("The blob data I got was " + blobData);
        return blobData;

    } catch (ClientProtocolException e) {

        log.debug("Got Client Protocol Exception " + e.getMessage());
    } catch (IOException e) {

        log.debug("Got IOEXception " + e.getMessage());
    }

    return null;
}

Lorsqu’un formulaire adaptatif est rendu avec un paramètre guid dans l’URL, le composant de page personnalisé associé au modèle récupère et renseigne le formulaire adaptatif avec les données du stockage Azure.
Voici le code dans le fichier jsp du composant de page associé au modèle.

com.aemforms.saveandfetchfromazure.StoreAndFetchDataFromAzureStorage azureStorage = sling.getService(com.aemforms.saveandfetchfromazure.StoreAndFetchDataFromAzureStorage.class);


String guid = request.getParameter("guid");

if(guid!=null&&!guid.isEmpty())
{
    String dataXml = azureStorage.getBlobData(guid);
    slingRequest.setAttribute("data",dataXml);

}

Tester la solution

Sur cette page