Share via


JavaScript sürüm 11.x istemci kitaplıklarını kullanarak kod örnekleri Azure Blob Depolama

Bu makalede JavaScript için Azure Blob Depolama istemci kitaplığının 11.x sürümünü kullanan kod örnekleri gösterilmektedir.

31 Mart 2023'te , geçerli Azure SDK yönergelerine uymayan Azure SDK kitaplıkları desteğini kullanımdan kaldırdık. Yeni Azure SDK kitaplıkları, tutarlı deneyimler sağlamak ve güvenlik duruşunuzu güçlendirmek için düzenli olarak güncelleştirilir. Yeni özelliklerden ve kritik güvenlik güncelleştirmelerinden yararlanmak için yeni Azure SDK kitaplıklarına geçmeniz önerilir.

Eski kitaplıklar 31 Mart 2023'ten sonra da kullanılabilse de artık Microsoft'tan resmi destek ve güncelleştirme almayacaktır. Daha fazla bilgi için bkz. destek kullanımdan kaldırma duyurusu.

Blob Depolama ile yüksek oranda kullanılabilir bir uygulama oluşturma

Örnek projeyi indirin ve dosyanın sıkıştırmasını açın. Geliştirme ortamına uygulamanın bir kopyasını indirmek için git de kullanılabilir. Örnek proje temel bir Node.js uygulaması içerir.

git clone https://github.com/Azure-Samples/storage-node-v10-ha-ra-grs.git

Örneği yapılandırma

Bu örneği çalıştırmak için depolama hesabı kimlik bilgilerinizi dosyaya .env.example eklemeniz ve ardından olarak yeniden adlandırmanız .envgerekir.

AZURE_STORAGE_ACCOUNT_NAME=<replace with your storage account name>
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=<replace with your storage account access key>

Bu bilgileri Azure portal depolama hesabınıza gidip Ayarlar bölümünde Erişim anahtarları'nı seçerek bulabilirsiniz.

Gerekli bağımlılıkları yüklemek için bir komut istemi açın, örnek klasöre gidin ve girin npm install.

Konsol uygulamasını çalıştırma

Örneği çalıştırmak için bir komut istemi açın, örnek klasöre gidin ve girin node index.js.

Örnek, Blob depolama hesabınızda bir kapsayıcı oluşturur, HelloWorld.png kapsayıcıya yükler, ardından kapsayıcının ve görüntünün ikincil bölgeye çoğaltılıp çoğaltılmadığını tekrar tekrar denetler. Çoğaltmadan sonra, indirmek veya çıkmak için D veya Q (ardından ENTER) girmenizi ister. Çıkışınız aşağıdaki örneğe benzer görünmelidir:

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

Kod örneğini anlama

Node.js V10 SDK'sı ile geri çağırma işleyicileri gereksizdir. Bunun yerine örnek, yeniden deneme seçenekleri ve ikincil uç nokta ile yapılandırılmış bir işlem hattı oluşturur. Bu yapılandırma, birincil işlem hattı üzerinden verilerinize ulaşamaması durumunda uygulamanın otomatik olarak ikincil işlem hattına geçiş yapmasını sağlar.

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