AzureStor/NEWS.md

140 строки
11 KiB
Markdown
Исходник Обычный вид История

# AzureStor 3.2.2.9000
- Fix file transfers with filenames containing non-ASCII characters on Windows.
2020-06-21 07:22:00 +03:00
# AzureStor 3.2.2
- Extended support for directories in blob storage. Note that since blob storage doesn't have true directories, there are some warts to be aware of; see `?blob` for more details.
- Implement non-recursive directory listings for `list_blobs`, thanks to @cantpitch.
- Fixes to the directory detection logic of `list_blobs`.
- Implement `create_blob_dir` and `delete_blob_dir`.
- Remove broken implementation for recursive deleting of subdirectory contents for file storage.
2020-06-05 12:45:21 +03:00
# AzureStor 3.2.1
- Internal changes to handle differences in how table storage returns error messages.
- Update tests for R 4.0.
2020-04-10 15:53:01 +03:00
# AzureStor 3.2.0
- Update client API versions to "2019-07-07".
2020-04-10 15:53:01 +03:00
- Basic support for the new file storage permissions API. When uploading files, they will be created with default filesystem parameters: "inherit" permissions, "now" creation/modified datetimes, and unset attributes. This has no impact on blob and ADLSgen2.
- Remove a redundant API call to set the Content-Type after a blob or file storage upload.
- `list_storage_containers` and related methods will now check for a continuation marker to avoid returning prematurely (thanks to @StatKalli for reporting and providing a fix).
2020-04-10 15:53:01 +03:00
- Extended support for generating an account SAS (which should not be confused with _using_ one):
- Add `get_account_sas` S3 generic, with methods for `az_storage` resource objects and client endpoints. The `az_storage$get_account_sas` R6 method now simply calls the S3 method.
- Generating the SAS now uses internal R code, rather than making an API call. The resulting SAS should also work with azcopy.
- Add support for generating a user delegation SAS. Note that _using_ a user delegation SAS has always worked.
- New S3 generics `get_user_delegation_key` and `get_user_delegation_sas`, with methods for `az_storage` objects and blob endpoints. Similar R6 methods added for `az_storage` objects.
- New `revoke_user_delegation_keys` generic and methods to invalidate all user delegation keys for a storage account (and all SAS's generated with those keys).
- See `?sas` for more information.
- The `silent` argument for `call_azcopy` now uses the `azure_storage_azcopy_silent` system option for its default value, falling back to FALSE if this is unset.
2020-04-06 00:26:08 +03:00
- Bug fixes for internal functions.
2020-03-03 19:37:53 +03:00
# AzureStor 3.1.1
- Expose `sign_request` as a generic, dispatching on the endpoint class. This is to allow for the fact that table storage uses a different signing scheme to the other storage services.
2020-02-24 21:33:51 +03:00
- Fix a bug in `list_adls_files` that could result in an error with large numbers of files.
- Add a `timeout` argument to `call_storage_endpoint` that sets the number of seconds to wait for an API call.
2020-03-03 19:37:53 +03:00
- Fix authentication logic for retrying failed requests.
2020-01-15 07:18:35 +03:00
# AzureStor 3.1.0
2019-12-23 01:57:03 +03:00
## Significant user-visible changes
- Enhanced support for AzCopy:
- Calling AzCopy from the various upload/download methods can now use existing authentication credentials without needing to login separately. Note that AzCopy only supports SAS and OAuth authentication, not access key.
- `call_azcopy` now uses the processx package under the hood, which is a powerful and flexible framework for running external programs from R. The interface is slightly changed: rather than taking the entire commandline as a single string, `call_azcopy` now expects each AzCopy commandline option to be an individual argument. See `?call_azcopy` for examples of the new interface.
- Recursive file transfers with AzCopy is now supported.
## Other changes
2019-12-23 01:57:03 +03:00
- New `storage_file_exists` generic to check for file existence, which dispatches to `blob_exists`, `azure_file_exists` and `adls_file_exists` for the individual storage types.
2020-01-06 08:52:41 +03:00
- Move AAD token validity check inside the retry loop in `call_storage_endpoint`; this fixes a bug where the token could expire during a long transfer.
2020-01-13 11:45:02 +03:00
- Default destination arguments now work for file transfer generics as well.
2019-12-23 01:57:03 +03:00
2019-12-04 04:21:23 +03:00
# AzureStor 3.0.1
- Uploading with ADLS now sets the Content-Type property correctly.
- Fixes to support blob/ADLS interoperability, which has just gone GA.
- In `list_blobs` and `list_adls_files`, check that a field exists before trying to modify it (works around problem of possibly inconsistent response from the endpoint).
2019-11-15 20:47:08 +03:00
- Allow passing a SAS with a leading `?` (as generated by the Azure Portal and Storage Explorer) to the client functions.
2019-11-24 05:11:19 +03:00
- Fix some bugs in `multidownload_blob`.
- The `az_storage$get_*_endpoint()` methods now support passing an AAD token for authentication.
2019-11-01 19:46:22 +03:00
# AzureStor 3.0.0
2019-10-30 17:43:41 +03:00
## Significant user-visible changes
- Substantial enhancements to multiple-file transfers (up and down):
- These can now accept a vector of pathnames as the source and destination arguments.
- Alternatively, for a wildcard source, add the ability to recurse through subdirectories. Any directory structure in the source will be reproduced at the destination.
- Related to the above: the file transfer methods can now create subdirectories that are specified in their destination argument. For ADLS and blob uploading this happens automatically; for Azure file uploading it requires a separate API call which can be slow, so is optional.
2019-10-30 20:31:19 +03:00
- The default destination directory when transferring files (not connections) is now the (remote) root for uploading, and the (local) current directory for downloading.
- Significant changes to file storage methods for greater consistency with the other storage types:
- The default directory for `list_azure_files` is now the root, mirroring the behaviour for blobs and ADLSgen2.
- The output of `list_azure_files` now includes the full path as part of the file/directory name.
2019-11-01 19:46:22 +03:00
- Add `recursive` argument to `list_azure_files`, `create_azure_dir` and `delete_azure_dir` for recursing through subdirectories. Like with file transfers, for Azure file storage this can be slow, so try to use a non-recursive solution where possible.
- Make output format for `list_adls_files`, `list_blobs` and `list_azure_files` more consistent. The first 2 columns for a data frame output are now always `name` and `size`; the size of a directory is NA. The 3rd column for non-blobs is `isdir` which is TRUE/FALSE depending on whether the object is a directory or file. Any additional columns remain storage type-specific.
2019-10-30 17:43:41 +03:00
- New `get_storage_metadata` and `set_storage_metadata` methods for managing user-specified properties (metadata) for objects.
- Revamped methods for getting standard properties, which are now all methods for `get_storage_properties` rather than having specific functions for blobs, files and directories.
- Creating a service-specific endpoint (`file_endpoint`, `blob_endpoint`, `adls_endpoint`) with an invalid URL will now warn, instead of throwing an error. This enables using tools like Azurite, which use a local address as the endpoint. Calling `storage_endpoint` with an invalid URL will still throw an error, as the function has no way of telling which storage service is required.
2019-10-30 17:43:41 +03:00
## Other changes
- Remove the warning about ADLSgen2 not supporting shared access signatures (SAS).
- Background process pool functionality has been moved to AzureRMR. This removes code duplication, and also makes it available for other packages that may benefit.
2019-10-23 20:16:26 +03:00
- Only display the file transfer progress bar in an interactive session.
- Export `do_container_op` and `call_storage_endpoint` to allow direct calls to the storage account endpoint.
2019-10-30 18:50:57 +03:00
- Fix S3 dispatching bugs in `copy_url_to_storage` and `multicopy_url_to_storage`.
2019-11-02 12:09:38 +03:00
- A `NULL` download destination will now actually return a raw vector as opposed to a connection, matching what the documentation says.
2019-09-11 04:11:59 +03:00
# AzureStor 2.1.1
- Correctly handle ADLSgen2 and file storage listings with more than 5000 files.
2019-09-12 06:16:24 +03:00
- Fix a bug in confirmation prompts. On R >= 3.5, prompts will now use `utils::askYesNo`; as a side-effect, Windows users who are using RGUI.exe will see a popup dialog box instead of a message in the terminal.
2019-09-11 04:11:59 +03:00
2019-07-19 04:37:32 +03:00
# AzureStor 2.1.0
- Update client API versions to "2018-11-09".
2019-07-18 01:33:17 +03:00
- Fix bug with blob uploading using azcopy.
2019-07-18 06:42:24 +03:00
- Add `copy_url_to_blob` function, for directly copying a HTTP\[S\] URL to blob storage. The corresponding generic is `copy_url_to_storage`, with a method for blob containers (only).
2019-05-24 19:11:40 +03:00
# AzureStor 2.0.2
2019-05-17 08:07:54 +03:00
- By default, HTTP(S) requests to the storage endpoint will now be retried on encountering a network error. To change the number of retries, call `options(azure_storage_retries=N)` where N >= 0. Setting this option to zero disables retrying.
2019-05-18 00:21:13 +03:00
- Downloading now proceeds in blocks, much like uploading. The default block size is set to 16MB for blob and ADLSgen2, and 4MB for file storage. While this reduces the throughput slightly (basically there is at least one extra REST call involved), it allows retrying a failed transfer on a per-block basis rather than having to redownload the entire file.
2019-05-24 19:11:40 +03:00
- Also display the progress bar for uploads. The command to enable/disable the progress bar is now `options(azure_storage_progress_bar=TRUE|FALSE)`.
2019-03-21 15:48:51 +03:00
# AzureStor 2.0.1
2019-02-17 09:36:24 +03:00
- Display a progress bar when downloading single files. To turn this on or off, call `options(azure_dl_progress_bar=TRUE|FALSE)`.
2019-02-17 09:36:24 +03:00
- Fix `upload_to_url`/`download_from_url` bugs introduced in last update.
2019-02-13 17:15:21 +03:00
# AzureStor 2.0.0
2018-12-26 06:23:40 +03:00
## Significant user-visible changes
* Support authentication via Azure Active Directory tokens for blob and ADLSgen2 storage.
2019-01-19 16:14:53 +03:00
* Support uploading and downloading to in-memory R objects, without having to create a temporary file. Uploading can be done with `src` a `rawConnection` or `textConnection` object. For downloading, if `dest` is `NULL`, the downloaded data is returned as a raw vector, or if `dest` is a `rawConnection`, in the connection object. See the examples in the documentation.
* Implement parallel file transfers using a background pool of R processes. This can significantly speed up transfers when working with multiple small files.
2019-02-05 17:04:39 +03:00
* Experimental support for using the Microsoft AzCopy commandline utility to perform file transfers. Set the argument `use_azcopy=TRUE` in any upload or download function to call AzCopy rather than relying on internal R code. The `call_azcopy` function also allows you to run AzCopy with arbitrary arguments. Requires [AzCopy version 10](https://github.com/Azure/azure-storage-azcopy).
* New generics for storage operations:
- `storage_container`, `create_storage_container`, `delete_storage_container`, `list_storage_containers` for managing containers (blob containers, file shares, ADLSgen2 filesystems)
- `storage_upload`, `storage_download`, `storage_multiupload`, `storage_multidownload` for file transfers
- `list_storage_files`, `create_storage_dir`, `delete_storage_dir`, `delete_storage_file` for managing objects within a container
## Other changes
* Add ADLS upload/download support to `upload_to_url` and `download_from_url`.
2019-01-17 15:34:06 +03:00
* Set default blocksize for `upload_azure_file` to 4MB, the maximum permitted by the API (#5).
2019-02-07 13:48:40 +03:00
* Allow resource group and subscription accessor methods to work when AzureStor is not on the search path.
2018-12-26 06:23:40 +03:00
2018-12-06 09:28:05 +03:00
# AzureStor 1.0.0
* Submitted to CRAN
2018-10-23 19:38:57 +03:00
# AzureStor 0.9.0
2018-10-19 17:45:16 +03:00
* Moved to cloudyr organisation