Cherrypick stable2.7 44802 (#45332)
* fix blob in non-public azure cloud (#44802)
(cherry picked from commit b58141555d
)
This commit is contained in:
parent
351bb3dd9a
commit
2fcae8b367
2 changed files with 10 additions and 2 deletions
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
bugfixes:
|
||||
- fix azure storage blob cannot create blob container in non-public azure cloud environment. (https://github.com/ansible/ansible/issues/35223)
|
|
@ -154,6 +154,7 @@ try:
|
|||
from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements
|
||||
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
|
||||
from azure.storage.cloudstorageaccount import CloudStorageAccount
|
||||
from azure.storage.blob import PageBlobService, BlockBlobService
|
||||
from adal.authentication_context import AuthenticationContext
|
||||
from azure.mgmt.sql import SqlManagementClient
|
||||
from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
|
||||
|
@ -533,9 +534,13 @@ class AzureRMModuleBase(object):
|
|||
try:
|
||||
self.log('Create blob service')
|
||||
if storage_blob_type == 'page':
|
||||
return CloudStorageAccount(storage_account_name, account_keys.keys[0].value).create_page_blob_service()
|
||||
return PageBlobService(endpoint_suffix=self._cloud_environment.suffixes.storage_endpoint,
|
||||
account_name=storage_account_name,
|
||||
account_key=account_keys.keys[0].value)
|
||||
elif storage_blob_type == 'block':
|
||||
return CloudStorageAccount(storage_account_name, account_keys.keys[0].value).create_block_blob_service()
|
||||
return BlockBlobService(endpoint_suffix=self._cloud_environment.suffixes.storage_endpoint,
|
||||
account_name=storage_account_name,
|
||||
account_key=account_keys.keys[0].value)
|
||||
else:
|
||||
raise Exception("Invalid storage blob type defined.")
|
||||
except Exception as exc:
|
||||
|
|
Loading…
Reference in a new issue