Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Storage] Azure Storage SDK 2018-11-09 Feature Release #4418

Merged
merged 32 commits into from
Jul 26, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
2b931ed
[Storage] Fixed a bug of `downloadBlobToBuffer()` and `downloadAzureF…
XiaoningLiu Jul 10, 2019
1eaa189
[Storage] Fixed a bug that `Aborter` cannot work during retry interval.
XiaoningLiu Jul 10, 2019
1bfaa65
[Storage] * Export `RetryPolicyType`.
XiaoningLiu Jul 10, 2019
a5c3015
[Storage] Fixed a bug that Aborter throws timeout error even though i…
XiaoningLiu Jul 10, 2019
c17043e
[Storage] Aborter doesn't require `dom` as tsconfig lib requirement a…
XiaoningLiu Jul 10, 2019
fb9fceb
[Storage] * Fixed a bug that "err.code.toUpperCase is not a function"…
XiaoningLiu Jul 10, 2019
4c2c756
[Storage] Resolved CR comments
XiaoningLiu Jul 19, 2019
dda817e
[Storage-Queue] Updated queue API version to 2018-11-09
XiaoningLiu Jul 9, 2019
4e4a226
[Storage][Blob] Regenerated blob protocol layer code against swagger …
XiaoningLiu Jun 17, 2019
a857ec1
[Storage-File] Updated API version to 2018-11-09; Updated to autorest…
XiaoningLiu Jun 19, 2019
a0107e5
[Storage-File] Fixed FileURL.create() and setHTTPHeaders() issues int…
XiaoningLiu Jun 19, 2019
ce1da16
Added `DirectoryURL.listHandlesSegment()` and `FileURL.listHandlesSeg…
XiaoningLiu Jun 19, 2019
e73327f
Added `DirectoryURL.forceCloseHandlesSegment()`, `FileURL.forceCloseH…
XiaoningLiu Jun 19, 2019
37ad40b
[Storage-File] Updated recorded tests
XiaoningLiu Jun 19, 2019
e7fb054
[Storage-File] Updated package version to 10.2.0
XiaoningLiu Jun 19, 2019
24459de
Rename handlerID parameter to handlerId
XiaoningLiu Jun 20, 2019
575b9e5
[Storage-File] Updated changelog and comments to make them clearer
XiaoningLiu Jul 3, 2019
e191074
[Storage] Updated contribution.md about record and play
XiaoningLiu Jun 20, 2019
b359ea4
[Storage-Blob] Updated ChangeLog
XiaoningLiu Jun 24, 2019
45428f9
[Storage-Blob] PageBlobURL.uploadPagesFromURL() AppendBlobURL.append…
XiaoningLiu Jul 5, 2019
d138879
[Storage] Resolved CR comments
XiaoningLiu Jul 10, 2019
330403e
[Storage][Blob] Added ServiceURL.getUserDelegationKey()
XiaoningLiu Jul 18, 2019
148ba7a
[Storage] Update to [email protected]; Updated HTTP client from axios to…
XiaoningLiu Jul 19, 2019
9f1aea7
[Storage] Updated samples about keepAliveOptions
XiaoningLiu Jul 25, 2019
ba1dfa0
[Storage] Updated changelog; Fixed testcases; Updated pnpmlock;
XiaoningLiu Jul 25, 2019
1a1177a
[Storage] Added vinjiang and Jason Fan as storage code owners
XiaoningLiu Jul 25, 2019
ef26ff8
[Storage] Record test cases
XiaoningLiu Jul 25, 2019
be33ebe
resolve merge conflicts with upstream master
HarshaNalluru Jul 25, 2019
643527a
Merge branch 'master' into 20181109release
XiaoningLiu Jul 26, 2019
6c61988
[Storage] Force to YYYY-MM-DDThh:mmTZD precision for getUserDelegatio…
XiaoningLiu Jul 26, 2019
219a1d9
Merge branch '20181109release' of https://github.com/xiaoningliu/azur…
XiaoningLiu Jul 26, 2019
a11d171
[Storage] Resolved PR comments; Updated contribution.md & API comment…
XiaoningLiu Jul 26, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

/sdk/identity/ @daviwil
/sdk/keyvault/ @jonathandturner @sadasant
/sdk/storage/ @XiaoningLiu @jeremymeng @HarshaNalluru
/sdk/storage/ @XiaoningLiu @jeremymeng @HarshaNalluru @vinjiang @jiacfan

# Management Plane
/**/*Management*.ts @yaohaizh
Expand Down
5 changes: 3 additions & 2 deletions common/config/rush/common-versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
*/
{
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/common-versions.schema.json",

/**
* A table that specifies a "preferred version" for a dependency package. The "preferred version"
* is typically used to hold an indirect dependency back to a specific version, however generally
Expand All @@ -18,7 +17,6 @@
*/
// "some-library": "1.2.3"
},

/**
* The "rush check" command can be used to enforce that every project in the repo must specify
* the same SemVer range for a given dependency. However, sometimes exceptions are needed.
Expand All @@ -30,6 +28,9 @@
* This design avoids unnecessary churn in this file.
*/
"allowedAlternativeVersions": {
"@azure/ms-rest-js": [
"^2.0.0"
]
/**
* For example, allow some projects to use an older TypeScript compiler
* (in addition to whatever "usual" version is being used by other projects in the repo):
Expand Down
79 changes: 70 additions & 9 deletions common/config/rush/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions sdk/storage/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,22 @@ npm run test:browser

Browser testing is based on Karma, you can change default testing browser by modifying karma.conf.js file.

### Record & Play

By default, above test commands are live testing against real Azure Storage accounts. Before running above tests, set environment value `TEST_MODE` to switch to offline mock test mode or test recording mode.

Playback mode is for offline mock test, which doesn't require a storage account, it's quick but less coverage:

`export TEST_MODE=playback`

Record tests for next playback. Recording is necessary after adding or updating test cases:

`export TEST_MODE=record`

Live tests by clearing `TEST_MODE` environment variable:

`export TEST_MODE=`

### Testing Features

As you develop a feature, you'll need to write tests to ensure quality. You should also run existing tests related to your change to address any unexpected breaks in both Node.js and Browsers.
Expand Down
17 changes: 17 additions & 0 deletions sdk/storage/storage-blob/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
# Changelog

2019.07 10.4.0

* Updated Azure Storage Service API version to [2018-11-09](https://docs.microsoft.com/en-us/rest/api/storageservices/version-2018-11-09).
* Improved comments for `BlockBlobURL.upload()`.
* Exported `HttpRequestBody` type for who wants to implement a customized HTTP client.
* Fixed a bug of `downloadBlobToBuffer()` and `downloadAzureFileToBuffer()` when provided offset is not 0.
* Fixed a bug that `Aborter` cannot work during retry interval.
* Fixed a bug that `Aborter` throws timeout error even though it succeeds of `BlockBlobUrl.download()`.
* Fixed a bug that "err.code.toUpperCase is not a function" when retries in browser.
* Export `RetryPolicyType`.
* `Aborter` doesn't require `dom` as tsconfig lib requirement anymore for `Event` type.
* Service SAS generation now supports snapshot access control from 2018-11-09 in `generateBlobSASQueryParameters()`.
* Service SAS generation now supports snapshot access control from API version 2018-11-09 in `generateBlobSASQueryParameters()`.
* A new API `PageBlobURL.uploadPagesFromURL()` allows pages in a page blob to be written using a range of another blob as a source. This permits synchronous server-side copies to be orchestrated for page blobs of any size.
* A new API `AppendBlobURL.appendBlockFromURL()` commits a new block of data to the end of an append blob. Method uses a range of another blob as a source. This permits synchronous server-side copies to be orchestrated for append blobs of any size.
* A new API `BlobURL.syncCopyFromURL()` allows a block blob to be copied synchronously using a URL as a source. This API has a maximum size of 256 MB and preserves metadata and block list.
* A new API `ServiceURL.getUserDelegationKey()` added to get a key that can be used to generate a user delegation SAS (shared access signature).
* Updated HTTP client from axios to node-fetch in Node.js runtime.
* A new option `keepAliveOptions` added to parameter of `StorageURL.newPipeline()` which controls keep-alive configurations. Keep-alive is enabled by default.

2018.12 10.3.0

Expand Down
6 changes: 3 additions & 3 deletions sdk/storage/storage-blob/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@azure/storage-blob",
"sdk-type": "client",
"version": "10.3.0",
"version": "10.4.0",
"description": "Microsoft Azure Storage SDK for JavaScript - Blob",
"main": "./dist/index.js",
"module": "./dist-esm/src/index.js",
Expand All @@ -19,7 +19,7 @@
},
"scripts": {
"audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit",
"build:autorest": "autorest ./swagger/README.md --typescript [email protected]/autorest.typescript@2.1.3",
"build:autorest": "autorest ./swagger/README.md --typescript [email protected]/autorest.typescript@4.1.1",
"build:browserzip": "gulp zip",
"build:es6": "tsc -p tsconfig.json",
"build:nodebrowser": "rollup -c 2>&1",
Expand Down Expand Up @@ -74,7 +74,7 @@
"homepage": "https://github.com/Azure/azure-sdk-for-js#readme",
"sideEffects": false,
"dependencies": {
"@azure/ms-rest-js": "^1.2.6",
"@azure/ms-rest-js": "^2.0.0",
"events": "^3.0.0",
"tslib": "^1.9.3"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@
"recordings": [
{
"method": "PUT",
"url": "https://fakestorageaccount.blob.core.windows.net/container156058697809306189",
"url": "https://fakestorageaccount.blob.core.windows.net/container156404691376603837",
"query": {
"restype": "container"
},
"requestBody": null,
"status": 201,
"response": "",
"responseHeaders": {
"date": "Sat, 15 Jun 2019 08:22:57 GMT",
"last-modified": "Sat, 15 Jun 2019 08:22:58 GMT",
"date": "Thu, 25 Jul 2019 09:24:55 GMT",
"last-modified": "Thu, 25 Jul 2019 09:24:55 GMT",
"server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
"etag": "\"0x8D6F16AAC77E5A4\"",
"x-ms-request-id": "9567147c-201e-0039-5053-233a35000000",
"x-ms-version": "2018-03-28",
"etag": "\"0x8D710E1F4EE47A0\"",
"x-ms-request-id": "d494aae0-c01e-0075-17ca-42b92d000000",
"x-ms-version": "2018-11-09",
"content-length": "0"
}
}
],
"uniqueTestInfo": {
"container": "container156058697809306189"
"container": "container156404691376603837"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@
"recordings": [
{
"method": "PUT",
"url": "https://fakestorageaccount.blob.core.windows.net/container156058697901900409",
"url": "https://fakestorageaccount.blob.core.windows.net/container156404691415106119",
"query": {
"restype": "container"
},
"requestBody": null,
"status": 201,
"response": "",
"responseHeaders": {
"date": "Sat, 15 Jun 2019 08:22:58 GMT",
"last-modified": "Sat, 15 Jun 2019 08:22:58 GMT",
"date": "Thu, 25 Jul 2019 09:24:55 GMT",
"last-modified": "Thu, 25 Jul 2019 09:24:56 GMT",
"server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
"etag": "\"0x8D6F16AAC978151\"",
"x-ms-request-id": "9567151f-201e-0039-6753-233a35000000",
"x-ms-version": "2018-03-28",
"etag": "\"0x8D710E1F505A468\"",
"x-ms-request-id": "d494ab49-c01e-0075-62ca-42b92d000000",
"x-ms-version": "2018-11-09",
"content-length": "0"
}
}
],
"uniqueTestInfo": {
"container": "container156058697901900409"
"container": "container156404691415106119"
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"recordings": [],
"uniqueTestInfo": {
"container": "container156058697808401937"
"container": "container156404691375200388"
}
}
Loading