From 585e7ba11a57209d676b0ccb575a9db654e448ef Mon Sep 17 00:00:00 2001 From: RidRisR <79858083+RidRisR@users.noreply.github.com> Date: Fri, 19 Dec 2025 11:20:10 +0100 Subject: [PATCH 1/9] docs --- br/backup-and-restore-storages.md | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index 177e280d175f..4bc21ed9477e 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -203,6 +203,57 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ --storage "azure://external/backup-20220915?account-name=${account-name}" ``` +- 方式四:使用 Azure 托管标识 (Managed Identity) + + 如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用此方式。 + + 使用此方式前,请确保已在 Azure Portal 中为该托管标识授予了目标存储账户的访问权限(如 **Storage Blob Data Contributor**)。 + + - **系统分配的托管标识 (System-assigned)**: + + 无需配置任何环境变量,直接运行 br 备份命令即可。请确保运行环境中**不包含** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET`,否则 SDK 可能会优先尝试其他认证方式。 + + - **用户分配的托管标识 (User-assigned)**: + + 需要在 br 命令行工具运行环境或 TiKV 运行环境中配置环境变量 `$AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 + + 1. **配置 TiKV (使用 TiUP 启动时)**: + + 假设节点上 TiKV 端口为 `24000`,Systemd 服务名为 `tikv-24000`: + + ```shell + systemctl edit tikv-24000 + ``` + + 编辑环境变量信息(仅需 Client ID): + + ```ini + [Service] + Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" + ``` + + 重新加载配置并重启 TiKV: + + ```shell + systemctl daemon-reload + systemctl restart tikv-24000 + ``` + + 2. **配置 br 命令行工具**: + + 确认当前 Shell 环境中存在 Client ID: + + ```shell + export AZURE_CLIENT_ID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" + ``` + + - 使用 br 命令行工具将数据备份至 Azure Blob Storage: + + ```shell + tiup br backup full -u "${PD_IP}:2379" \ + --storage "azure://external/backup-20220915?account-name=${account-name}" + ``` + From c412105ae55311f8c77f4e9d1a41d5808b4fa03d Mon Sep 17 00:00:00 2001 From: ris <79858083+RidRisR@users.noreply.github.com> Date: Wed, 31 Dec 2025 11:53:27 +0800 Subject: [PATCH 2/9] Apply suggestions from code review Co-authored-by: Grace Cai --- br/backup-and-restore-storages.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index 4bc21ed9477e..e66cdeaa9add 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -203,43 +203,43 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ --storage "azure://external/backup-20220915?account-name=${account-name}" ``` -- 方式四:使用 Azure 托管标识 (Managed Identity) +- 方式四:使用 Azure 托管标识 (Managed Identity) 从 v8.5.5 和 v9.0.0 开始引入 - 如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用此方式。 + 如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 - 使用此方式前,请确保已在 Azure Portal 中为该托管标识授予了目标存储账户的访问权限(如 **Storage Blob Data Contributor**)。 + 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为该托管标识授予目标存储账户的访问权限(如 **Storage Blob Data Contributor**)。 - **系统分配的托管标识 (System-assigned)**: - 无需配置任何环境变量,直接运行 br 备份命令即可。请确保运行环境中**不包含** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET`,否则 SDK 可能会优先尝试其他认证方式。 + 使用系统分配的托管标识时,无需配置任何 Azure 相关环境变量,直接运行 br 备份命令即可。请确保运行环境中**不存在** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET`,否则 Azure SDK 可能会优先使用其他认证方式。 - **用户分配的托管标识 (User-assigned)**: - 需要在 br 命令行工具运行环境或 TiKV 运行环境中配置环境变量 `$AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 + 使用用户分配的托管标识时,需要在 TiKV 运行环境或 br 命令行工具运行环境中配置环境变量 `$AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 - 1. **配置 TiKV (使用 TiUP 启动时)**: + - 使用 TiUP 启动时为 TiKV 配置 Client ID: - 假设节点上 TiKV 端口为 `24000`,Systemd 服务名为 `tikv-24000`: + 1. 假设节点上 TiKV 端口为 `24000`,Systemd 服务名为 `tikv-24000`: ```shell systemctl edit tikv-24000 ``` - 编辑环境变量信息(仅需 Client ID): + 2. 编辑环境变量信息(仅需 Client ID): ```ini [Service] Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" ``` - 重新加载配置并重启 TiKV: + 3. 重新加载配置并重启 TiKV: ```shell systemctl daemon-reload systemctl restart tikv-24000 ``` - 2. **配置 br 命令行工具**: + - 为 br 命令行工具配置 Client ID: 确认当前 Shell 环境中存在 Client ID: @@ -247,7 +247,7 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ export AZURE_CLIENT_ID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" ``` - - 使用 br 命令行工具将数据备份至 Azure Blob Storage: + 配置好环境变量 `$AZURE_CLIENT_ID` 后,可以使用以下 br 命令行工具将数据备份至 Azure Blob Storage: ```shell tiup br backup full -u "${PD_IP}:2379" \ From 36beeebbdff8e40e76c381c2229235eaad82dfa7 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 31 Dec 2025 15:03:05 +0800 Subject: [PATCH 3/9] update the indention --- br/backup-and-restore-storages.md | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index e66cdeaa9add..cfa14be34192 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -207,10 +207,10 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ 如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 - 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为该托管标识授予目标存储账户的访问权限(如 **Storage Blob Data Contributor**)。 + 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为该托管标识授予目标存储账户的访问权限(如 `Storage Blob Data Contributor`)。 - **系统分配的托管标识 (System-assigned)**: - + 使用系统分配的托管标识时,无需配置任何 Azure 相关环境变量,直接运行 br 备份命令即可。请确保运行环境中**不存在** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET`,否则 Azure SDK 可能会优先使用其他认证方式。 - **用户分配的托管标识 (User-assigned)**: @@ -218,30 +218,30 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ 使用用户分配的托管标识时,需要在 TiKV 运行环境或 br 命令行工具运行环境中配置环境变量 `$AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 - 使用 TiUP 启动时为 TiKV 配置 Client ID: - + 1. 假设节点上 TiKV 端口为 `24000`,Systemd 服务名为 `tikv-24000`: - ```shell - systemctl edit tikv-24000 - ``` + ```shell + systemctl edit tikv-24000 + ``` 2. 编辑环境变量信息(仅需 Client ID): - ```ini - [Service] - Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" - ``` + ```ini + [Service] + Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" + ``` 3. 重新加载配置并重启 TiKV: - ```shell - systemctl daemon-reload - systemctl restart tikv-24000 - ``` + ```shell + systemctl daemon-reload + systemctl restart tikv-24000 + ``` - 为 br 命令行工具配置 Client ID: - - 确认当前 Shell 环境中存在 Client ID: + + 确认当前 Shell 环境中存在 Client ID: ```shell export AZURE_CLIENT_ID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" @@ -249,10 +249,10 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ 配置好环境变量 `$AZURE_CLIENT_ID` 后,可以使用以下 br 命令行工具将数据备份至 Azure Blob Storage: - ```shell - tiup br backup full -u "${PD_IP}:2379" \ - --storage "azure://external/backup-20220915?account-name=${account-name}" - ``` + ```shell + tiup br backup full -u "${PD_IP}:2379" \ + --storage "azure://external/backup-20220915?account-name=${account-name}" + ``` From b25c1712d5def0246b03bffcb72f2537ba53d646 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 5 Jan 2026 09:26:25 +0800 Subject: [PATCH 4/9] Apply suggestions from code review --- br/backup-and-restore-storages.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index cfa14be34192..4bf141c74141 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -203,9 +203,9 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ --storage "azure://external/backup-20220915?account-name=${account-name}" ``` -- 方式四:使用 Azure 托管标识 (Managed Identity) 从 v8.5.5 和 v9.0.0 开始引入 +- 方式四:使用 Azure 托管标识 (Managed Identity) - 如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 + 从 v8.5.5 和 v9.0.0 起,如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为该托管标识授予目标存储账户的访问权限(如 `Storage Blob Data Contributor`)。 From 96f2ca4af7da7d7c15941a87072000e0bfb64b02 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 5 Jan 2026 09:26:43 +0800 Subject: [PATCH 5/9] Update br/backup-and-restore-storages.md --- br/backup-and-restore-storages.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index 4bf141c74141..3f1cd3a66381 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -205,7 +205,7 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ - 方式四:使用 Azure 托管标识 (Managed Identity) - 从 v8.5.5 和 v9.0.0 起,如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 + 从 v8.5.5 和 v9.0.0 起,如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为该托管标识授予目标存储账户的访问权限(如 `Storage Blob Data Contributor`)。 From a23ea70250d25d27ada32542d488aa3a917b9684 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 6 Jan 2026 10:06:22 +0800 Subject: [PATCH 6/9] Apply suggestions from code review Co-authored-by: Aolin --- br/backup-and-restore-storages.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index 3f1cd3a66381..d19ccf65bb04 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -207,32 +207,38 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ 从 v8.5.5 和 v9.0.0 起,如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 - 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为该托管标识授予目标存储账户的访问权限(如 `Storage Blob Data Contributor`)。 + 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为对应的托管标识授予目标存储账户的访问权限(如 `Storage Blob Data Contributor`)。 - **系统分配的托管标识 (System-assigned)**: - 使用系统分配的托管标识时,无需配置任何 Azure 相关环境变量,直接运行 br 备份命令即可。请确保运行环境中**不存在** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET`,否则 Azure SDK 可能会优先使用其他认证方式。 + 使用系统分配的托管标识时,无需配置任何 Azure 相关环境变量,直接运行 br 备份命令即可。 + + > **注意:** + > + > 请确保运行环境中**不存在** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET` 环境变量,否则 Azure SDK 可能会优先使用其他认证方式,导致托管标识未生效。 - **用户分配的托管标识 (User-assigned)**: - 使用用户分配的托管标识时,需要在 TiKV 运行环境或 br 命令行工具运行环境中配置环境变量 `$AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 + 使用用户分配的托管标识时,需要在 TiKV 运行环境或 br 命令行工具运行环境中配置环境变量 `AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 - 使用 TiUP 启动时为 TiKV 配置 Client ID: - 1. 假设节点上 TiKV 端口为 `24000`,Systemd 服务名为 `tikv-24000`: + 以下步骤以 TiKV 端口 `24000`、systemd 服务名 `tikv-24000` 为例: + + 1. 执行以下命令进入服务配置编辑界面: ```shell systemctl edit tikv-24000 ``` - 2. 编辑环境变量信息(仅需 Client ID): + 2. 配置环境变量,仅需设置 Client ID: ```ini [Service] - Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" + Environment="AZURE_CLIENT_ID=" ``` - 3. 重新加载配置并重启 TiKV: + 3. 重新加载 systemd 配置并重启 TiKV: ```shell systemctl daemon-reload @@ -241,13 +247,13 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ - 为 br 命令行工具配置 Client ID: - 确认当前 Shell 环境中存在 Client ID: + 在运行 br 命令前,设置 `AZURE_CLIENT_ID` 环境变量: ```shell export AZURE_CLIENT_ID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" ``` - 配置好环境变量 `$AZURE_CLIENT_ID` 后,可以使用以下 br 命令行工具将数据备份至 Azure Blob Storage: + 配置好环境变量 `AZURE_CLIENT_ID` 后,可以使用以下 br 命令行工具将数据备份至 Azure Blob Storage: ```shell tiup br backup full -u "${PD_IP}:2379" \ From ba722356ec11cf20f31621aecd232be7dc6842fd Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 6 Jan 2026 10:06:33 +0800 Subject: [PATCH 7/9] Update br/backup-and-restore-storages.md Co-authored-by: Aolin --- br/backup-and-restore-storages.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index d19ccf65bb04..ffa2ef27bf34 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -250,7 +250,7 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ 在运行 br 命令前,设置 `AZURE_CLIENT_ID` 环境变量: ```shell - export AZURE_CLIENT_ID="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" + export AZURE_CLIENT_ID="" ``` 配置好环境变量 `AZURE_CLIENT_ID` 后,可以使用以下 br 命令行工具将数据备份至 Azure Blob Storage: From 439af541dc2c289accebb369b83df55a485cae33 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 6 Jan 2026 11:58:42 +0800 Subject: [PATCH 8/9] minor wording updates --- br/backup-and-restore-storages.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index ffa2ef27bf34..19ff3a3c1c54 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -205,7 +205,7 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ - 方式四:使用 Azure 托管标识 (Managed Identity) - 从 v8.5.5 和 v9.0.0 起,如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了托管标识,则可以使用托管标识进行鉴权。 + 从 v8.5.5 和 v9.0.0 起,如果你的 TiDB 集群和 br 命令行工具运行在 Azure 虚拟机 (VM) 或 Azure Kubernetes Service (AKS) 环境中,并且已为节点分配了 Azure 托管标识,则可以使用 Azure 托管标识进行鉴权。 使用此方式前,请确保已在 [Azure Portal](https://azure.microsoft.com/) 中为对应的托管标识授予目标存储账户的访问权限(如 `Storage Blob Data Contributor`)。 @@ -247,7 +247,7 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ - 为 br 命令行工具配置 Client ID: - 在运行 br 命令前,设置 `AZURE_CLIENT_ID` 环境变量: + 在运行 br 备份命令前,设置 `AZURE_CLIENT_ID` 环境变量: ```shell export AZURE_CLIENT_ID="" From 4d262fda2d56a60acd872b8ebbab26783f5b3c8f Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 6 Jan 2026 12:11:16 +0800 Subject: [PATCH 9/9] update the content because AZURE_CLIENT_ID needs to be configured on both TiKV and br --- br/backup-and-restore-storages.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md index 19ff3a3c1c54..30dad090d1a7 100644 --- a/br/backup-and-restore-storages.md +++ b/br/backup-and-restore-storages.md @@ -213,15 +213,20 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ 使用系统分配的托管标识时,无需配置任何 Azure 相关环境变量,直接运行 br 备份命令即可。 + ```shell + tiup br backup full -u "${PD_IP}:2379" \ + --storage "azure://external/backup-20220915?account-name=${account-name}" + ``` + > **注意:** > > 请确保运行环境中**不存在** `AZURE_CLIENT_ID`、`AZURE_TENANT_ID` 或 `AZURE_CLIENT_SECRET` 环境变量,否则 Azure SDK 可能会优先使用其他认证方式,导致托管标识未生效。 - **用户分配的托管标识 (User-assigned)**: - 使用用户分配的托管标识时,需要在 TiKV 运行环境或 br 命令行工具运行环境中配置环境变量 `AZURE_CLIENT_ID`,其值为该托管标识的 Client ID。 + 使用用户分配的托管标识时,需要在 TiKV 运行环境和 br 命令行工具运行环境中配置环境变量 `AZURE_CLIENT_ID` (其值为该托管标识的 Client ID),然后再执行 br 备份命令。具体步骤如下: - - 使用 TiUP 启动时为 TiKV 配置 Client ID: + 1. 使用 TiUP 启动时为 TiKV 配置 Client ID: 以下步骤以 TiKV 端口 `24000`、systemd 服务名 `tikv-24000` 为例: @@ -231,7 +236,7 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ systemctl edit tikv-24000 ``` - 2. 配置环境变量,仅需设置 Client ID: + 2. 配置 `AZURE_CLIENT_ID` 环境变量: ```ini [Service] @@ -245,20 +250,18 @@ tiup br restore db --db test -u "${PD_IP}:2379" \ systemctl restart tikv-24000 ``` - - 为 br 命令行工具配置 Client ID: - - 在运行 br 备份命令前,设置 `AZURE_CLIENT_ID` 环境变量: + 2. 为 br 命令行工具配置 `AZURE_CLIENT_ID` 环境变量: ```shell export AZURE_CLIENT_ID="" ``` - 配置好环境变量 `AZURE_CLIENT_ID` 后,可以使用以下 br 命令行工具将数据备份至 Azure Blob Storage: + 3. 使用 br 命令行工具将数据备份至 Azure Blob Storage: - ```shell - tiup br backup full -u "${PD_IP}:2379" \ - --storage "azure://external/backup-20220915?account-name=${account-name}" - ``` + ```shell + tiup br backup full -u "${PD_IP}:2379" \ + --storage "azure://external/backup-20220915?account-name=${account-name}" + ```