public override void ExecuteCmdlet() { CloudStorageAccount account = null; bool useHttps = (StorageNouns.HTTPS.ToLower() == protocolType.ToLower()); switch (ParameterSetName) { case AccountNameKeyParameterSet: account = GetStorageAccountByNameAndKey(StorageAccountName, StorageAccountKey, useHttps, storageEndpoint); break; case AccountNameKeyEnvironmentParameterSet: account = GetStorageAccountByNameAndKeyFromAzureEnvironment(StorageAccountName, StorageAccountKey, useHttps, environmentName); break; case SasTokenParameterSet: account = GetStorageAccountBySasToken(StorageAccountName, SasToken, useHttps, storageEndpoint); break; case SasTokenEnvironmentParameterSet: account = GetStorageAccountBySasTokenFromAzureEnvironment(StorageAccountName, SasToken, useHttps, environmentName); break; case ConnectionStringParameterSet: account = GetStorageAccountByConnectionString(ConnectionString); break; case LocalParameterSet: account = GetLocalDevelopmentStorageAccount(); break; case AnonymousParameterSet: account = GetAnonymousStorageAccount(StorageAccountName, useHttps, storageEndpoint); break; case AnonymousEnvironmentParameterSet: account = GetAnonymousStorageAccountFromAzureEnvironment(StorageAccountName, useHttps, environmentName); break; default: throw new ArgumentException(Resources.DefaultStorageCredentialsNotFound); } AzureStorageContext context = new AzureStorageContext(account); WriteObject(context); }
public void GetStorageAccountByConnectionStringAndSasToken() { string sasToken = "?st=2013-09-03T04%3A12%3A15Z&se=2013-09-03T05%3A12%3A15Z&sr=c&sp=r&sig=fN2NPxLK99tR2%2BWnk48L3lMjutEj7nOwBo7MXs2hEV8%3D"; string endpoint = "http://storageaccountname.blob.core.windows.net"; string connectionString = String.Format("BlobEndpoint={0};QueueEndpoint={0};TableEndpoint={0};SharedAccessSignature={1}", endpoint, sasToken); CloudStorageAccount account = command.GetStorageAccountByConnectionString(connectionString); AzureStorageContext context = new AzureStorageContext(account); connectionString = String.Format("BlobEndpoint={0};SharedAccessSignature={1}", endpoint, sasToken); account = command.GetStorageAccountByConnectionString(connectionString); context = new AzureStorageContext(account); }
/// <summary> /// Queue management constructor /// </summary> /// <param name="client">Cloud queue client</param> public StorageQueueManagement(AzureStorageContext context) { internalStorageContext = context; queueClient = internalStorageContext.StorageAccount.CreateCloudQueueClient(); }
/// <summary> /// Init blob management /// </summary> /// <param name="client">a cloud blob object</param> public StorageBlobManagement(AzureStorageContext context) { internalStorageContext = context; blobClient = internalStorageContext.StorageAccount.CreateCloudBlobClient(); }
/// <summary> /// Storage table management constructor /// </summary> /// <param name="client">Cloud table client</param> public StorageTableManagement(AzureStorageContext context) { internalStorageContext = context; tableClient = internalStorageContext.StorageAccount.CreateCloudTableClient(); }
protected void InitializeStorageContext(string storageAccountName) { // lookup storage account by name and retrieve key var storageService = this.StorageClient.StorageAccounts.Get(storageAccountName); if (storageService == null) { ThrowTerminatingError(new ErrorRecord( new Exception("ServiceExtensionCannotFindStorageAccountName"), string.Empty, ErrorCategory.InvalidData, null)); } var storageKeys = this.StorageClient.StorageAccounts.GetKeys(storageService.StorageAccount.Name); if (storageKeys == null || storageKeys.PrimaryKey == null || storageKeys.SecondaryKey == null) { ThrowTerminatingError(new ErrorRecord( new Exception("ServiceExtensionCannotFindStorageAccountKey"), string.Empty, ErrorCategory.InvalidData, null)); } string storageAccountKey = storageKeys.PrimaryKey != null ? storageKeys.PrimaryKey : storageKeys.SecondaryKey; // now that key has been retrieved, initialize context and return StorageCredentials creds = new StorageCredentials(storageAccountName, storageAccountKey); CloudStorageAccount csa = new WindowsAzure.Storage.CloudStorageAccount(creds, true); StorageContext = new AzureStorageContext(csa); }