Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felhőben futó vagy a távoli szolgáltatásokkal és erőforrásokkal kommunikáló alkalmazásoknak képesnek kell lenniük az átmeneti hibák kezelésére. Gyakran előfordul, hogy ezek az alkalmazások a hálózati kapcsolat pillanatnyi megszakadása, egy szolgáltatás vagy erőforrás foglaltsága esetén a kérések időtúllépése vagy más tényezők miatt tapasztalnak hibákat. A fejlesztőknek olyan alkalmazásokat kell létrehozniuk, amelyek transzparensen kezelik az átmeneti hibákat a stabilitás és a rugalmasság javítása érdekében.
Ebből a cikkből megtudhatja, hogyan konfigurálhat újrapróbálkoztatási szabályzatot egy Azure Blob Storage-hoz csatlakozó alkalmazáshoz a JavaScripthez készült Azure Storage-ügyfélkódtár használatával. Az újrapróbálkoztatási szabályzatok meghatározzák, hogyan kezeli az alkalmazás a sikertelen kérelmeket, és mindig úgy kell hangolni, hogy megfeleljen az alkalmazás üzleti követelményeinek és a hiba jellegének.
Újrapróbálkozás beállításainak konfigurálása
A Blob Storage újrapróbálkozési szabályzatai programozott módon vannak konfigurálva, így szabályozható, hogy a rendszer hogyan alkalmazza az újrapróbálkozások beállításait a különböző szolgáltatáskérésekre és forgatókönyvekre. A felhasználói interakción alapuló kéréseket kibocsátó webalkalmazások például kevesebb újrapróbálkozással és rövidebb késéssel rendelkező szabályzatot implementálhatnak, hogy növeljék a válaszképességet, és hiba esetén értesítsék a felhasználót. Alternatív megoldásként egy a háttérben kötegelt kérelmeket futtató alkalmazás vagy összetevő növelheti az újrapróbálkozások számát, és exponenciális késleltetési stratégia alkalmazásával lehetővé teheti, hogy a kérés sikeresen befejeződjön.
Az alábbi táblázat felsorolja a StorageRetryOptions-példány létrehozásakor elérhető paramétereket, valamint a típust, a rövid leírást és az alapértelmezett értéket, ha nem hajt végre módosításokat. Proaktívnak kell lennie ezeknek a tulajdonságoknak az értékeinek finomhangolásában az alkalmazás igényeinek megfelelően.
| Tulajdonság | Típus | Leírás | Alapértelmezett érték |
|---|---|---|---|
maxRetryDelayInMs |
number |
Opcionális. Megadja a művelet újrapróbálkozása előtt engedélyezett maximális késleltetést. | 120 másodperc (vagy 120 * 1000 ms) |
maxTries |
number |
Opcionális. Az újrapróbálkozási kísérletek maximális száma a feladás előtt. | 4 |
retryDelayInMs |
number |
Opcionális. Megadja a művelet újrapróbálkozása előtt használandó késés mértékét. | 4 másodperc (vagy 4 * 1000 ms) |
retryPolicyType |
StorageRetryPolicyType | Opcionális. A StorageRetryPolicyType alapértelmezett értéke az exponenciális újrapróbálkozási szabályzat. | StorageRetryPolicyType.Exponenciális |
secondaryHost |
string |
Opcionális. Másodlagos tárfiókvégpont a kérések újrapróbálkozásához. Az érték beállítása előtt meg kell ismernie az elavult és potenciálisan inkonzisztens adatok olvasásával kapcsolatos problémákat. További információ: Georedundancia használata magas rendelkezésre állású alkalmazások tervezéséhez. | Egyik sem |
tryTimeoutInMs |
number |
Opcionális. A kérelem megszakítása és a feltételezett meghiúsulás előtt engedélyezett maximális idő. Ez az időtúllépés a műveleti kérelemre vonatkozik, és a gazdagép számára elérhető sávszélességen, valamint a tárolási szolgáltatás közelségén kell alapulnia. | A 0 vagy a nem definiált érték nem eredményez alapértelmezett időtúllépést az ügyfélen, és a kiszolgálóoldali alapértelmezett időtúllépést használja a rendszer. További információért lásd: Időtúllépések a blobszolgáltatás műveleteinél. |
A következő kód példában létrehozunk egy StorageRetryOptions példányt, beállítjuk benne az újrapróbálkozási opciókat, majd átadjuk egy új StoragePipelineOptions példánynak, és példányosításkor megadjuk pipelineBlobServiceClient.
const options = {
retryOptions: {
maxTries: 4,
retryDelayInMs: 3 * 1000,
maxRetryDelayInMs: 120 * 1000,
retryPolicyType: StorageRetryPolicyType.EXPONENTIAL
},
};
const pipeline = newPipeline(credential, options);
const blobServiceClient = new BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
credential,
pipeline
);
Ebben a példában az BlobServiceClient objektumból kibocsátott szolgáltatáskérések a megadott újrapróbálkozési beállításokat használják retryOptions. Ez a szabályzat az ügyfélkérésekre vonatkozik. Az alkalmazás igényeinek megfelelően különböző újrapróbálkozási stratégiákat konfigurálhat a szolgáltatás-ügyfelek számára.
Kapcsolódó tartalom
- Az újrapróbálkozási szabályzatokkal kapcsolatos architekturális útmutatásért és az újrapróbálkozási szabályzatok általános ajánlott eljárásaiért lásd : Átmeneti hibakezelés.
- Az átmeneti hibák újrapróbálkozási mintájának implementálásával kapcsolatos útmutatásért lásd : Újrapróbálkozási minta.