45 строки
1.7 KiB
TypeScript
45 строки
1.7 KiB
TypeScript
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
|
|
/**
|
|
* @summary authenticate with the storage service using a connection string
|
|
* @azsdk-weight 80
|
|
*/
|
|
|
|
import { BlobServiceClient } from "@azure/storage-blob";
|
|
|
|
// Load the .env file if it exists
|
|
import * as dotenv from "dotenv";
|
|
dotenv.config();
|
|
|
|
async function main() {
|
|
// Create Blob Service Client from Account connection string or SAS connection string
|
|
// Account connection string example - `DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net`
|
|
// SAS connection string example - `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString`
|
|
const STORAGE_CONNECTION_STRING = process.env.STORAGE_CONNECTION_STRING || "";
|
|
// Note - Account connection string can only be used in node.
|
|
const blobServiceClient = BlobServiceClient.fromConnectionString(STORAGE_CONNECTION_STRING);
|
|
|
|
let i = 1;
|
|
for await (const container of blobServiceClient.listContainers()) {
|
|
console.log(`Container ${i++}: ${container.name}`);
|
|
}
|
|
|
|
// Create a container
|
|
const containerName = `newcontainer${new Date().getTime()}`;
|
|
const containerClient = blobServiceClient.getContainerClient(containerName);
|
|
|
|
const createContainerResponse = await containerClient.create();
|
|
console.log(`Create container ${containerName} successfully`, createContainerResponse.requestId);
|
|
|
|
// Delete container
|
|
await containerClient.delete();
|
|
|
|
console.log("deleted container");
|
|
}
|
|
|
|
main().catch((error) => {
|
|
console.error(error);
|
|
process.exit(1);
|
|
});
|