DocumentazioneAEMTutorial su AEMTutorial su AEM Forms

Recupera dati dall’archiviazione Azure

Ultimo aggiornamento: 5 maggio 2025
  • Si applica a:
  • Experience Manager 6.5
  • Argomenti:
  • Moduli adattivi

Creato per:

  • Principiante
  • Sviluppatore

Questo articolo illustra come compilare un modulo adattivo con i dati memorizzati nell’archivio di Azure.
Si presume che i dati del modulo adattivo siano stati memorizzati nell’archivio di Azure e che ora si desideri precompilare il modulo adattivo con tali dati.

NOTA
Il codice di questo articolo non funziona con un modulo adattivo basato su componenti core.L'articolo equivalente per il modulo adattivo basato su componenti core è disponibile qui

Crea richiesta GET

Il passaggio successivo consiste nel scrivere il codice per recuperare i dati dall’archiviazione di Azure utilizzando l’ID BLOB. Per recuperare i dati è stato scritto il seguente codice. L’URL è stato costruito utilizzando i valori sasToken e storageURI della configurazione OSGi e il blobID passato alla funzione 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;
}

Quando viene eseguito il rendering di un modulo adattivo con un parametro GUID nell’URL, il componente pagina personalizzato associato al modello recupera e popola il modulo adattivo con i dati dall’archiviazione di Azure.
Di seguito è riportato il codice nell’JSP del componente Pagina associato al modello

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);

}

Testare la soluzione

  • Distribuire il bundle OSGi personalizzato

  • Importa il modello di modulo adattivo personalizzato e il componente Pagina associato al modello

  • Importare il modulo adattivo di esempio

  • Specificare i valori appropriati nella configurazione del portale di Azure utilizzando la console di configurazione OSGi.

  • Anteprima e invio del modulo BankAccount

  • Verifica che i dati siano archiviati nel contenitore di archiviazione Azure desiderato. Copia l’ID BLOB.

  • Visualizza l'anteprima del modulo BankAccount e specifica l'ID BLOB come parametro GUID nell'URL per il modulo da precompilare con i dati dall'archiviazione di Azure

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e