Mon entreprise Kakadu utilise Python + Django + Azure comme environnement de développement.
Je pense que de nombreuses entreprises utilisent AWS comme environnement cloud, mais Azure fournit également la bibliothèque Python en tant que SDK. Je l'aime parce que c'est facile à utiliser.
L'autre jour, j'ai commencé à utiliser le stockage Azure, une fonction équivalente à S3 dans AWS, et j'ai commencé à servir des fichiers statiques à partir du stockage Azure, mais j'ai défini Azure CORS (Cross Origin Resource Sharing) en Python. Je n'avais aucun matériel sur le net sur la façon de le faire, je vais donc garder une trace de ma réponse.
from azure.storage.models import StorageServiceProperties
from azure.storage.blob import BlobService
from azure.storage.blob.models import WindowsAzureData
class Cors(WindowsAzureData):
pass
class CorsRule(WindowsAzureData):
pass
rule = CorsRule()
rule.allowed_origins = '*'
rule.allowed_methods = 'GET,PUT'
rule.max_age_in_seconds = 500
rule.exposed_headers = 'x-ms-meta-data*,x-ms-meta-customheader'
rule.allowed_headers = 'x-ms-meta-data*,x-ms-meta-customheader'
cors = Cors()
cors.corsrule = rule
prop = StorageServiceProperties()
prop.cors = cors
prop.default_service_version = '2013-08-15'
client = BlobService(
account_name='nom du compte',
account_key='Clé'
)
client.set_blob_service_properties(prop)
C'est une solution de contournement que j'ai trouvée en lisant l'implémentation du SDK, mais si quelqu'un sait comment la rendre plus facile, j'apprécierais que vous puissiez commenter!
Recommended Posts