Skip to content

[File and Queue] Client constructors#7853

Merged
rakshith91 merged 12 commits into
Azure:feature/storage-preview5from
rakshith91:client_constructors
Oct 15, 2019
Merged

[File and Queue] Client constructors#7853
rakshith91 merged 12 commits into
Azure:feature/storage-preview5from
rakshith91:client_constructors

Conversation

@rakshith91

@rakshith91 rakshith91 commented Oct 12, 2019

Copy link
Copy Markdown
Contributor

Resolves #7806

Breaking changes

  • Added new the following methods:

    • from_queue_url in QueueClient
    • from_share_url in ShareClient
    • from_directory_url in DirectoryClient
    • from_file_url in FileClient
  • The default constructors for each of the above client now takes in only account_url with mandatory parameters such as share_name, file_path etc.

@adxsdk6

adxsdk6 commented Oct 12, 2019

Copy link
Copy Markdown

Can one of the admins verify this patch?

@rakshith91 rakshith91 self-assigned this Oct 12, 2019
@rakshith91 rakshith91 added Storage Storage Service (Queues, Blobs, Files) P0 labels Oct 12, 2019
@rakshith91 rakshith91 added the Client This issue points to a problem in the data-plane of the library. label Oct 12, 2019
credential=None, # type: Optional[Any]
**kwargs # type: Any
):
# type: (...) -> None

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Type hint should be returning FileClient

# type: (...) -> ShareClient
"""
:param str share_url: The full URI to the share.
:param share: The share with which to interact. If specified, this value will override

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't look like we need share in the docstring.

@kristapratico kristapratico left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

or share, in which case the directory and/or share must also be specified.
:param share: The share for the directory. If specified, this value will override
:param str account_url:
The URI to the account. The method `from_directory_url` must be used in order to

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This description needs some updates. The must be used sounds like it is imperative that something other than this method is used. It should be softened to something like "In order to create a client given the full URI to the directory, use the from_directory_url classmethod."

a share value specified in the directory URL.
:type share: str or ~azure.storage.file.ShareProperties
:type share_name: str
:param str directory_path:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this still have a "if specified" clause in the documentation?

shared access key.
"""
try:
if not directory_url.lower().startswith('http'):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation says that this is a full URI, yet we prepend https:// ?

@rakshith91 rakshith91 added the blocking-release Blocks release label Oct 15, 2019
@rakshith91

Copy link
Copy Markdown
Contributor Author

https://dev.azure.com/azure-sdk/public/_build/results?buildId=145126&view=results

Python - storage - ci is green....looks like there's some issue with credentials for other pipelines ( not at all related to this change)
so merging it

@rakshith91
rakshith91 merged commit 10879d0 into Azure:feature/storage-preview5 Oct 15, 2019
@rakshith91
rakshith91 deleted the client_constructors branch October 15, 2019 17:47
rakshith91 pushed a commit that referenced this pull request Oct 23, 2019
* Fix SubStream to respect IOBase protocol (#7843)

* removes NoRetry policy (#7845)

* [storage] Makes signed_identifiers a required param (#7844)

* makes signed_identifiers a required param

* fix tests and update history

* removes unecessary check

* fix files and queues tests

* [storage] Changes `file_permission_key` param to `permission_key` (#7841)

* changes file_permission_key param to permission_key

* update history

* Change the param directive to keyword in docstrings (#7855)

* Change the directive to keyword in docstrings

* pylint :(

* [storage] Adds from_string to models (#7870)

* adds from_string to models

* fixes to naming and history

* remove _str in docstrings

* pylint

* [storage-file] await async poller (#7872)

* await files async poller

* fix docstrings

* fix type hints

* [File and Queue] Client constructors (#7853)

* from_queue_url

* file client constructors

* update CHANGELOG

* fix test

* lint fix

* some doc changes

* queue docs

* blob docs

* [storage-queue] rename queue messages (#7895)

* rename queue messages

* update history

* [Storage-Queue][Storage-File] Kwargify positional params (#7877)

* Queue kwargification

* kwargify Files

* small fix

* minor fix

* comments + lint

* some changes

* pylint

* [storage-file, queue] moves param protocol to kwargs in gen_shared_access_signature() (#7897)

* moves protocol in gen_sas to kwargs

* delete whitespace

* [storage] Unexposes models from aio (#7881)

* unexposes models from aio

* unexpose all except clients and pylint fixes

* update history

* unexpose sync paged models

* update history phrasing

* [Storage-queue] Allow None message encode policy (#7898)

* Don't expose NoEncode policies

* Support None value for encode/decode policies

* Updated tests

* Updated sync encryption tests

* Updated async encryption tests

* Updated async encoding tests

* Fixed test

* Fix test

* Updated release notes

* Rename enqueue_message to send_messgae (#7928)

* [storage-blob, queue] Renames Logging to <ServiceName>AnalyticsLogging (#7921)

* renames logging to ServiceAnalyticsLogging

* changes param logging to analytics_logging

* fixes tests due to param name change

* [Blob][File][Encryption]Fix Download Encrypted Blob/File Bug (#7965)

#7957

* Consolidate offset - length behavior in files (#7942)

* Initital Commit

* length changes

* some test changes

* some more changes

* history.md

* Update a couple of recrodings

* comments address

* ops

* Stop modifying internal_response body (#7958)

* Stop modifying internal body

* Replicate for queues and files too

* [Storage] Relocated SAS generation (#7955)

* Expose account name on clients

* Updated blob sas gen

* Updated file sas gen

* Update queue sas gen

* Updated docstrings

* Some pylint fixes

* More pylint

* More pylint

* Reverted auth change

* Added release notes

* Fixed kwarg docstring

* [Storage] Updated close handles (#7940)

* Updated close handles

* Pylint fixes

* Fix tests

* Review feedback

* Missing recursive parameter

* Added release notes

* [Storage] Conditional etag parameters (#8047)

* Updated clients

* Process conditional headers

* Updated tests

* Fixed test

* Updated error scenarios

* Updated release notes

* Revert skipped tests

* [Storage] Download stream refactor (#7848)

* Refactored download stream API

* Unskip tests

* Test warnings

* Missing await

* Fixed append tests

* Fixed page tests

* Pylint

* Py2.7 iter support

* Refactor downloaders

* Added missing async module functions

* Updated release notes

* Keyword params

* Documented more keyword options

* Added module functions to exports

* Fixed merge

* Fix for Files download stream

* Pylint fix

* Updated File stream downloads

* Fix tests

* Updated error message

* Added Files release notes

* Pylint fix

* Download stream error handling

* Fixed some tests

* Design Pipeline ownership (#7981)

* Initital Commit

* Pipeline Ownership

* slight modifications

* pipeline ownership for queues and files

* fixes tests, adds docstrings to wrapper classes

* pylint

* Batching APIs Raise on Any Failure (#7963)

* Raise on Single Failure

* some changes

* lint

* some changes

* oops

* comments + lint

* some optimization

* history

* comments

* lint

* recording

* Plug HttpLoggingPolicy to Storage (#8081)

* Plug HttpLoggingPolicy to Storage

* Update dependencies

* Skip depends job for Storage

* Fix shared req

* [storage] make storage files _internal (#7949)

* blobs internal

* files internal

* queues internal

* some fixes to docstrings

* update history.md

* fix async test import

* some file mypy fixes

* some queue mypy fixes

* some blob mypy fixes

* fix mistake in type annot

* history edits

* Merge fix

* Revert "Merge fix"

This reverts commit 748fbd6.

* Better merge fix

* fix some tests (#8100)

* Fix tests (#8103)

* minor fix special char

* fix auth

* comments

* [Storage] Bumped version + Pipeline fix (#8089)

* Bumped version

* Docs tweak

* Re-bumped version

* Added 3.8 classifier

* Added proxy policy to pipeline

* Synced base clients

* Added batch exception

* Comment the echo check to workaround batch headers issue (#8118)

* Fix 8091: expose generated enum to customers (#8117)

* Fix #8091

* Add one in file
fengzhou-msft pushed a commit that referenced this pull request Nov 5, 2019
* Fix SubStream to respect IOBase protocol (#7843)

* removes NoRetry policy (#7845)

* [storage] Makes signed_identifiers a required param (#7844)

* makes signed_identifiers a required param

* fix tests and update history

* removes unecessary check

* fix files and queues tests

* [storage] Changes `file_permission_key` param to `permission_key` (#7841)

* changes file_permission_key param to permission_key

* update history

* Change the param directive to keyword in docstrings (#7855)

* Change the directive to keyword in docstrings

* pylint :(

* [storage] Adds from_string to models (#7870)

* adds from_string to models

* fixes to naming and history

* remove _str in docstrings

* pylint

* [storage-file] await async poller (#7872)

* await files async poller

* fix docstrings

* fix type hints

* [File and Queue] Client constructors (#7853)

* from_queue_url

* file client constructors

* update CHANGELOG

* fix test

* lint fix

* some doc changes

* queue docs

* blob docs

* [storage-queue] rename queue messages (#7895)

* rename queue messages

* update history

* [Storage-Queue][Storage-File] Kwargify positional params (#7877)

* Queue kwargification

* kwargify Files

* small fix

* minor fix

* comments + lint

* some changes

* pylint

* [storage-file, queue] moves param protocol to kwargs in gen_shared_access_signature() (#7897)

* moves protocol in gen_sas to kwargs

* delete whitespace

* [storage] Unexposes models from aio (#7881)

* unexposes models from aio

* unexpose all except clients and pylint fixes

* update history

* unexpose sync paged models

* update history phrasing

* [Storage-queue] Allow None message encode policy (#7898)

* Don't expose NoEncode policies

* Support None value for encode/decode policies

* Updated tests

* Updated sync encryption tests

* Updated async encryption tests

* Updated async encoding tests

* Fixed test

* Fix test

* Updated release notes

* Rename enqueue_message to send_messgae (#7928)

* [storage-blob, queue] Renames Logging to <ServiceName>AnalyticsLogging (#7921)

* renames logging to ServiceAnalyticsLogging

* changes param logging to analytics_logging

* fixes tests due to param name change

* [Blob][File][Encryption]Fix Download Encrypted Blob/File Bug (#7965)

#7957

* Consolidate offset - length behavior in files (#7942)

* Initital Commit

* length changes

* some test changes

* some more changes

* history.md

* Update a couple of recrodings

* comments address

* ops

* Stop modifying internal_response body (#7958)

* Stop modifying internal body

* Replicate for queues and files too

* [Storage] Relocated SAS generation (#7955)

* Expose account name on clients

* Updated blob sas gen

* Updated file sas gen

* Update queue sas gen

* Updated docstrings

* Some pylint fixes

* More pylint

* More pylint

* Reverted auth change

* Added release notes

* Fixed kwarg docstring

* [Storage] Updated close handles (#7940)

* Updated close handles

* Pylint fixes

* Fix tests

* Review feedback

* Missing recursive parameter

* Added release notes

* [Storage] Conditional etag parameters (#8047)

* Updated clients

* Process conditional headers

* Updated tests

* Fixed test

* Updated error scenarios

* Updated release notes

* Revert skipped tests

* [Storage] Download stream refactor (#7848)

* Refactored download stream API

* Unskip tests

* Test warnings

* Missing await

* Fixed append tests

* Fixed page tests

* Pylint

* Py2.7 iter support

* Refactor downloaders

* Added missing async module functions

* Updated release notes

* Keyword params

* Documented more keyword options

* Added module functions to exports

* Fixed merge

* Fix for Files download stream

* Pylint fix

* Updated File stream downloads

* Fix tests

* Updated error message

* Added Files release notes

* Pylint fix

* Download stream error handling

* Fixed some tests

* Design Pipeline ownership (#7981)

* Initital Commit

* Pipeline Ownership

* slight modifications

* pipeline ownership for queues and files

* fixes tests, adds docstrings to wrapper classes

* pylint

* Batching APIs Raise on Any Failure (#7963)

* Raise on Single Failure

* some changes

* lint

* some changes

* oops

* comments + lint

* some optimization

* history

* comments

* lint

* recording

* Plug HttpLoggingPolicy to Storage (#8081)

* Plug HttpLoggingPolicy to Storage

* Update dependencies

* Skip depends job for Storage

* Fix shared req

* [storage] make storage files _internal (#7949)

* blobs internal

* files internal

* queues internal

* some fixes to docstrings

* update history.md

* fix async test import

* some file mypy fixes

* some queue mypy fixes

* some blob mypy fixes

* fix mistake in type annot

* history edits

* Merge fix

* Revert "Merge fix"

This reverts commit 748fbd6.

* Better merge fix

* fix some tests (#8100)

* Fix tests (#8103)

* minor fix special char

* fix auth

* comments

* [Storage] Bumped version + Pipeline fix (#8089)

* Bumped version

* Docs tweak

* Re-bumped version

* Added 3.8 classifier

* Added proxy policy to pipeline

* Synced base clients

* Added batch exception

* Comment the echo check to workaround batch headers issue (#8118)

* Fix 8091: expose generated enum to customers (#8117)

* Fix #8091

* Add one in file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. P0 Storage Storage Service (Queues, Blobs, Files)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants