Abrufen von Daten aus dem Azure-Speicher

Letzte Aktualisierung: 2024-02-01
  • Erstellt für:
  • Beginner
    Developer

In diesem Artikel erfahren Sie, wie Sie ein adaptives Formular mit den Daten ausfüllen, die im Azure-Speicher gespeichert sind.
Es wird davon ausgegangen, dass Sie die adaptiven Formulardaten im Azure-Speicher gespeichert haben und jetzt Ihr adaptives Formular mit diesen Daten vorab ausfüllen möchten.

HINWEIS

Der Code in diesem Artikel funktioniert nicht mit auf Kernkomponenten basierenden adaptiven Formularen.Den entsprechenden Artikel für das auf Kernkomponenten basierende adaptive Formular finden Sie hier .

Erstellen einer GET-Anfrage

Der nächste Schritt besteht darin, den Code zu schreiben, um die Daten mithilfe der Blob-ID aus dem Azure-Speicher abzurufen. Der folgende Code wurde zum Abrufen der Daten geschrieben: Die URL wurde mithilfe der Werte für „sasToken“ und „storageURI“ aus der OSGi-Konfiguration und der Blob-ID konstruiert, die an die Funktion „getBlobData“ übergeben wurde.

 @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;
}

Wenn ein adaptives Formular mit einem GUID-Parameter in der URL wiedergegeben wird, ruft die mit der Vorlage verknüpfte benutzerdefinierte Seitenkomponente das adaptive Formular ab und füllt es mit den Daten aus Azure Storage.
Im Folgenden finden Sie den Code im JSP der Seitenkomponente, die mit der Vorlage verknüpft ist

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

}

Testen der Lösung

Auf dieser Seite