kódminták Azure Blob Storage JavaScript 11.x-es verziójú ügyfélkódtárak használatával
Ez a cikk a JavaScripthez készült Azure Blob Storage ügyfélkódtár 11.x-es verzióját használó kódmintákat mutatja be.
2023. március 31-én megszüntettük az Azure SDK-kódtárak támogatását, amelyek nem felelnek meg az Azure SDK jelenlegi irányelveinek. Az új Azure SDK-kódtárak rendszeresen frissülnek, hogy egységes élményeket és a biztonsági állapotot erősítsék. Javasoljuk, hogy térjen át az új Azure SDK-kódtárakra, hogy kihasználhassa az új képességeket és a kritikus biztonsági frissítéseket.
Bár a régebbi kódtárak 2023. március 31-e után is használhatók, a Microsofttól már nem kapnak hivatalos támogatást és frissítéseket. További információkért lásd a támogatás kivonásáról szóló közleményt.
Magas rendelkezésre állású alkalmazás létrehozása a Blob Storage használatával
Töltse le a mintaprojektet , és bontsa ki a fájlt. A git használatával is letöltheti az alkalmazás egy másolatát a fejlesztői környezetbe. A mintaprojekt egy alapszintű Node.js alkalmazást tartalmaz.
git clone https://github.com/Azure-Samples/storage-node-v10-ha-ra-grs.git
A minta konfigurálása
A minta futtatásához hozzá kell adnia a tárfiók hitelesítő adatait a .env.example
fájlhoz, majd át kell neveznie a következőre: .env
.
AZURE_STORAGE_ACCOUNT_NAME=<replace with your storage account name>
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=<replace with your storage account access key>
Ezeket az információkat a Azure Portal a tárfiókra lépve, majd a Beállítások szakaszban válassza a Hozzáférési kulcsok lehetőséget.
Telepítse a szükséges függőségeket egy parancssor megnyitásával, navigáljon a mintamappához, majd írja be a következőt npm install
: .
A konzolalkalmazás futtatása
A minta futtatásához nyisson meg egy parancssort, keresse meg a mintamappát, majd írja be a következőt node index.js
: .
A minta létrehoz egy tárolót a Blob Storage-fiókban, feltöltiHelloWorld.png a tárolóba, majd ismételten ellenőrzi, hogy a tároló és a rendszerkép replikálva lett-e a másodlagos régióba. A replikáció után a rendszer kéri, hogy írja be a D vagy a Q (majd az ENTER) kifejezést a letöltéshez vagy a kilépéshez. A kimenetnek az alábbi példához kell hasonlítania:
Created container successfully: newcontainer1550799840726
Uploaded blob: HelloWorld.png
Checking to see if container and blob have replicated to secondary region.
[0] Container has not replicated to secondary region yet: newcontainer1550799840726 : ContainerNotFound
[1] Container has not replicated to secondary region yet: newcontainer1550799840726 : ContainerNotFound
...
[31] Container has not replicated to secondary region yet: newcontainer1550799840726 : ContainerNotFound
[32] Container found, but blob has not replicated to secondary region yet.
...
[67] Container found, but blob has not replicated to secondary region yet.
[68] Blob has replicated to secondary region.
Ready for blob download. Enter (D) to download or (Q) to quit, followed by ENTER.
> D
Attempting to download blob...
Blob downloaded from primary endpoint.
> Q
Exiting...
Deleted container newcontainer1550799840726
A kódminta ismertetése
A Node.js V10 SDK-val a visszahívási kezelők szükségtelenek. Ehelyett a minta létrehoz egy újrapróbálkozással és egy másodlagos végponttal konfigurált folyamatot. Ez a konfiguráció lehetővé teszi, hogy az alkalmazás automatikusan átváltson a másodlagos folyamatra, ha nem éri el az adatokat az elsődleges folyamaton keresztül.
const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
const storageAccessKey = process.env.AZURE_STORAGE_ACCOUNT_ACCESS_KEY;
const sharedKeyCredential = new SharedKeyCredential(accountName, storageAccessKey);
const primaryAccountURL = `https://${accountName}.blob.core.windows.net`;
const secondaryAccountURL = `https://${accountName}-secondary.blob.core.windows.net`;
const pipeline = StorageURL.newPipeline(sharedKeyCredential, {
retryOptions: {
maxTries: 3,
tryTimeoutInMs: 10000,
retryDelayInMs: 500,
maxRetryDelayInMs: 1000,
secondaryHost: secondaryAccountURL
}
});