从 Amazon S3 迁移到 Azure 存储(Django 网络应用程序)
Migrating from Amazon S3 to Azure Storage (Django web app)
我维护这个 Django 网络应用程序,用户可以在其中聚集并互相聊天。如果他们愿意,他们也可以 post 图片。我处理这些照片(即优化它们的大小)并将它们存储在 Amazon S3 存储桶中(如 Azure 存储中的 'container')。为此,我在亚马逊上设置了存储桶,并在我的 settings.py:
中包含了以下配置代码
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_S3_FORCE_HTTP_URL = True
AWS_QUERYSTRING_AUTH = False
AWS_SECRET_ACCESS_KEY = os.environ.get('awssecretkey')
AWS_ACCESS_KEY_ID = os.environ.get('awsaccesskeyid')
AWS_S3_CALLING_FORMAT='boto.s3.connection.OrdinaryCallingFormat'
AWS_STORAGE_BUCKET_NAME = 'dakadak.in'
另外 Boto 2.38.0
和 django-storages 1.1.8
安装在我的虚拟环境中。 Boto 是一个 Python 包,它提供与 Amazon Web Services 的接口,而 django-storages 是 Django 的自定义存储后端的集合.
我现在想停止使用 Amazon S3,而是迁移到 Azure 存储。 IE。我需要将所有现有文件从 S3 迁移到 Azure 存储,接下来我需要配置我的 Django 应用程序以将所有新的静态资产保存在 Azure 存储上。
我找不到关于我要实现的目标的准确文档。虽然我知道 django-storages support Azure。有没有人以前做过这种迁移,可以指出我需要从哪里开始,要遵循哪些步骤才能完成所有操作,运行?
注:如有需要可向我咨询。
您共享的 link 具有 Django 到 Azure Blob 的配置。现在,当我这样做时,我所要做的就是转到 Azure 门户。在存储帐户下,获取访问密钥,如下所示。然后创建一个容器,把容器名给Django配置。这应该足够了。不过我之前做过这个。
对于第二部分,将当前文件从 S3 存储桶迁移到 BLOB,您可以使用几个工具;
如果您使用的是 visual studio,您可以在 Visual Studio 中输入您的 Azure 帐户凭据后在服务器资源管理器下找到 blob。
或者,您可以使用第三方工具,例如 Azure Storage Explorer or Cloudberry explorer。
希望对您有所帮助!
根据我的经验,您可以执行从 Amazon S3 迁移到 Azure Storage for Django Web 应用程序的两个步骤。
第一步是将所有文件从 S3 移动到 Azure Blob 存储。您可以尝试两种方法。
- 使用 S3 和 Azure 存储工具将文件从 S3 移动到本地目录到 Azure Blob 存储。
下面这些用于 S3 的工具可以帮助将文件移动到本地目录。
- AWS 命令行(https://aws.amazon.com/cli/):
aws s3 cp s3://BUCKET/FOLDER localfolder --recursive
- S3cmd 工具(http://s3tools.org/):
s3cmd -r sync s3://BUCKET/FOLDER localfolder
- S3 浏览器(http://s3browser.com/):
这是一个 GUI 客户端。
要将本地文件移动到 Azure Blob 存储,您可以使用 AzCopy 命令行实用程序在 Microsoft Azure Blob、文件和 Table 存储之间进行高性能上传、下载和复制数据,请参考文档https://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/.
示例:AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer
- 通过使用 Amazon S3 和 Azure Blob Storage APIs 使用您熟悉的语言(如 Python、Java 等)编程进行迁移。请参阅它们的 API 用法文档 https://azure.microsoft.com/en-us/documentation/articles/storage-python-how-to-use-blob-storage/ and http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html.
第二步是按照文档http://django-storages.readthedocs.org/en/latest/backends/azure.html重新配置Django settings.py
文件。 Django-storages 将允许您上传的任何内容自动存储在您的存储容器中。
DEFAULT_FILE_STORAGE='storages.backends.azure_storage.AzureStorage'
AZURE_ACCOUNT_NAME='myaccount'
AZURE_ACCOUNT_KEY='account_key'
AZURE_CONTAINER='mycontainer'
如@neolursa 所说,您可以在 Azure 门户上找到这些设置。
编辑:
在 Azure 旧门户上:
在 Azure 新门户上:
我维护这个 Django 网络应用程序,用户可以在其中聚集并互相聊天。如果他们愿意,他们也可以 post 图片。我处理这些照片(即优化它们的大小)并将它们存储在 Amazon S3 存储桶中(如 Azure 存储中的 'container')。为此,我在亚马逊上设置了存储桶,并在我的 settings.py:
中包含了以下配置代码DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_S3_FORCE_HTTP_URL = True
AWS_QUERYSTRING_AUTH = False
AWS_SECRET_ACCESS_KEY = os.environ.get('awssecretkey')
AWS_ACCESS_KEY_ID = os.environ.get('awsaccesskeyid')
AWS_S3_CALLING_FORMAT='boto.s3.connection.OrdinaryCallingFormat'
AWS_STORAGE_BUCKET_NAME = 'dakadak.in'
另外 Boto 2.38.0
和 django-storages 1.1.8
安装在我的虚拟环境中。 Boto 是一个 Python 包,它提供与 Amazon Web Services 的接口,而 django-storages 是 Django 的自定义存储后端的集合.
我现在想停止使用 Amazon S3,而是迁移到 Azure 存储。 IE。我需要将所有现有文件从 S3 迁移到 Azure 存储,接下来我需要配置我的 Django 应用程序以将所有新的静态资产保存在 Azure 存储上。
我找不到关于我要实现的目标的准确文档。虽然我知道 django-storages support Azure。有没有人以前做过这种迁移,可以指出我需要从哪里开始,要遵循哪些步骤才能完成所有操作,运行?
注:如有需要可向我咨询。
您共享的 link 具有 Django 到 Azure Blob 的配置。现在,当我这样做时,我所要做的就是转到 Azure 门户。在存储帐户下,获取访问密钥,如下所示。然后创建一个容器,把容器名给Django配置。这应该足够了。不过我之前做过这个。
对于第二部分,将当前文件从 S3 存储桶迁移到 BLOB,您可以使用几个工具;
如果您使用的是 visual studio,您可以在 Visual Studio 中输入您的 Azure 帐户凭据后在服务器资源管理器下找到 blob。
或者,您可以使用第三方工具,例如 Azure Storage Explorer or Cloudberry explorer。
希望对您有所帮助!
根据我的经验,您可以执行从 Amazon S3 迁移到 Azure Storage for Django Web 应用程序的两个步骤。
第一步是将所有文件从 S3 移动到 Azure Blob 存储。您可以尝试两种方法。
- 使用 S3 和 Azure 存储工具将文件从 S3 移动到本地目录到 Azure Blob 存储。
下面这些用于 S3 的工具可以帮助将文件移动到本地目录。
- AWS 命令行(https://aws.amazon.com/cli/):
aws s3 cp s3://BUCKET/FOLDER localfolder --recursive
- S3cmd 工具(http://s3tools.org/):
s3cmd -r sync s3://BUCKET/FOLDER localfolder
- S3 浏览器(http://s3browser.com/): 这是一个 GUI 客户端。
要将本地文件移动到 Azure Blob 存储,您可以使用 AzCopy 命令行实用程序在 Microsoft Azure Blob、文件和 Table 存储之间进行高性能上传、下载和复制数据,请参考文档https://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/.
示例:AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer
- 通过使用 Amazon S3 和 Azure Blob Storage APIs 使用您熟悉的语言(如 Python、Java 等)编程进行迁移。请参阅它们的 API 用法文档 https://azure.microsoft.com/en-us/documentation/articles/storage-python-how-to-use-blob-storage/ and http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html.
第二步是按照文档http://django-storages.readthedocs.org/en/latest/backends/azure.html重新配置Django settings.py
文件。 Django-storages 将允许您上传的任何内容自动存储在您的存储容器中。
DEFAULT_FILE_STORAGE='storages.backends.azure_storage.AzureStorage'
AZURE_ACCOUNT_NAME='myaccount'
AZURE_ACCOUNT_KEY='account_key'
AZURE_CONTAINER='mycontainer'
如@neolursa 所说,您可以在 Azure 门户上找到这些设置。
编辑:
在 Azure 旧门户上:
在 Azure 新门户上: