Create shared access signature RPC (#18823)

* Rebase from main branch

* Made mssql a module

* remove rpc specific stuff

* Added create sas RPC call

* Backup to url works now

* Moved createSas RPC to the BlobService

* Relocated createSas RPC from sql-dataprotocolclient to the mssql

* After rebase

* Removed duplicate symbol

* Renamed Blob to AzureBlob and relocated CreateSasResponse to mssql extension

* Removed AzureBlobProvider, removed AzureBlobService feature

* renamed blob to azureblob, converted thenable to promise

* Simplify API

* fixes

* docs update, blob to azureblob update

* bumped sts version

* Fix config

Co-authored-by: chgagnon <chgagnon@microsoft.com>
This commit is contained in:
Nemanja Milovančević
2022-04-21 19:30:46 +02:00
committed by GitHub
parent e9fefd2487
commit 1cf905a7b8
19 changed files with 207 additions and 4 deletions

View File

@@ -48,6 +48,8 @@ declare module 'mssql' {
readonly sqlAssessment: ISqlAssessmentService;
readonly sqlMigration: ISqlMigrationService;
readonly azureBlob: IAzureBlobService;
}
/**
@@ -901,4 +903,21 @@ declare module 'mssql' {
export interface ISqlMigrationService {
getAssessments(ownerUri: string, databases: string[]): Promise<AssessmentResult | undefined>;
}
export interface CreateSasResponse {
sharedAccessSignature: string;
}
export interface IAzureBlobService {
/**
* Create a shared access signature for the specified blob container URI and saves it to the server specified with the connectionUri
* @param connectionUri The connection URI of the server to save the SAS to
* @param blobContainerUri The blob container URI to create the SAS for
* @param blobStorageKey The key used to access the storage account
* @param storageAccountName The name of the storage account the SAS will be created for
* @param expirationDate The expiration date of the SAS
* @returns A created shared access signature token
*/
createSas(connectionUri: string, blobContainerUri: string, blobStorageKey: string, storageAccountName: string, expirationDate: string): Promise<CreateSasResponse>;
}
}