将数据从应用服务复制到 Azure 文件共享

copy data from app service to azure fileshare

我在生产中有一个应用程序服务,我正在切换到 aks,所以我将使用文件共享作为一个卷。

如何将我的应用服务中的文件夹(exp 路径:/home/site/wwwroot/public)复制到我的新 azure 文件共享

找到了 azcopy 命令,但不清楚应用程序服务部分

假设您是 运行 来自

的 Linux Azure 应用服务

(exp path: /home/site/wwwroot/public)

Web SSH to your Linux App Service,将以下 URL 粘贴到您的浏览器中并替换为您的应用程序名称:

https://<app-name>.scm.azurewebsites.net/webssh/host

[对于 windows 基于容器的应用程序服务,请转到 Console]

进入 SSH 会话(或控制台)后,请创建一个新目录,您可以在其中挂载 Azure 文件存储(查看 Linux App Service Limitations and Windows App Service Limitations),使用:

mkdir <mount-path-directory>

使用az webapp config storage-account add 命令。例如:

az webapp config storage-account add --resource-group <group-name> --name <app-name> --custom-id <custom-id> --storage-type AzureFiles --share-name <share-name> --account-name <storage-account-name> --access-key "<access-key>" --mount-path <mount-path-directory>
  • --storage-type 应该是 AzureFiles
  • --mount-path 是要装载到 Azure 存储的 Linux 容器内的目录。不要使用/(根目录)。

通过运行以下命令验证您的存储是否已安装:

az webapp config storage-account list --resource-group <resource-group> --name <app-name>

[ 重要提示:容器中--mount-path指定的目录应该是空的。装载 Azure 存储时,存储在此目录中的任何内容都会被删除(例如,如果您在 /home 下指定一个目录)。如果您要为现有应用迁移文件,请在开始之前备份该应用及其内容。]

Reference

现在从 SSH 会话(或控制台)到应用服务,使用以下方法将所需的源目录复制到 Azure 文件存储装载上的所需目标:

cp -r /source/directory /destination/directory/

注意:您也可以使用mkdir在挂载路径中创建子目录,并根据需要将数据复制到这些子目录中。

此时,您可以 mount the Azure FileShare as a Persistent Volume or Inline volume 在您的 AKS 群集中。