Abrufen von Daten aus dem Azure-Speicher

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 Daten des adaptiven Formulars im Azure-Speicher gespeichert haben und jetzt Ihr adaptives Formular mit diesen Daten vorausfüllen möchten.

NOTE
Der Code in diesem Artikel funktioniert nicht mit auf Kernkomponenten basierenden adaptiven Formularen.Den äquivalenten Artikel für ein auf Kernkomponenten basierendes adaptives 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 gerendert wird, ruft die mit der Vorlage verknüpfte benutzerdefinierte Seitenkomponente das adaptive Formular ab und füllt es mit den Daten aus dem Azure-Speicher aus.
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

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