AzCopy v10 配置设置(Azure 存储)
AzCopy 是一个命令行实用工具,可用于向/从存储帐户复制 Blob 或文件。 本文包含可用于配置 AzCopy v10 的环境变量列表。
注意
如果你正在寻找 AzCopy 入门内容,请参阅 AzCopy 入门。
AzCopy v10 环境变量
下表描述了每个环境变量并提供了相关链接,可利用链接中的内容使用这些环境变量。
环境变量 | 说明 |
---|---|
AWS_ACCESS_KEY_ID | Amazon Web Services 访问密钥。 提供密钥以对 Amazon Web Services 进行授权。使用 AzCopy 将数据从 Amazon S3 复制到 Azure 存储 |
AWS_SECRET_ACCESS_KEY | Amazon Web Services 机密访问密钥 提供密钥以对 Amazon Web Services 进行授权。 使用 AzCopy 将数据从 Amazon S3 复制到 Azure 存储 |
AZCOPY_ACTIVE_DIRECTORY_ENDPOINT | 要使用的 Microsoft Entra 终结点。 此变量仅用于自动登录,请在调用登录命令时改为使用命令行标志。 |
AZCOPY_AUTO_LOGIN_TYPE | 将此变量设置为 DEVICE 、MSI 、SPN 、AZCLI 或 PSCRED 。 此变量提供在不使用 azcopy login 命令的情况下授权的功能。 请参阅使用 AzCopy 和 Microsoft Entra ID 授予对 blob 的访问权限。 |
AZCOPY_BUFFER_GB | 指定 AzCopy 在下载和上传文件时要使用的最大系统内存量。 请以 GB 表示此值。 请参阅优化内存用量 |
AZCOPY_CACHE_PROXY_LOOKUP | 默认情况下,AzCopy on Windows 将在主机名级别缓存代理服务器查找(不考虑 URL 路径)。 设置为“true”以外的其他值可禁用缓存。 |
AZCOPY_CONCURRENCY_VALUE | 指定可能发生的并发请求数。 可以使用此变量来提高吞吐量。 如果计算机中的 CPU 少于 5 个,则此变量的值将设置为 32 。 否则,默认值等于 16 乘以 CPU 数。 此变量的最大默认值为 3000 ,但可以手动增大或减小此值。 请参阅提高并发 |
AZCOPY_CONCURRENT_FILES | 通过控制并发启动传输的文件的数量,覆盖任何时候正在进行的文件的(近似)数量。 |
AZCOPY_CONCURRENT_SCAN | 控制扫描期间使用的(最大)并行度。 仅影响并行化枚举器,其中包括 Azure 文件存储/Blob 和本地文件系统。 |
AZCOPY_CONTENT_TYPE_MAP | 重写操作系统定义的一个或多个默认 MIME 类型映射。 将此变量设置为定义任何映射的 JSON 文件的路径。 下面是示例 JSON 文件的内容: { "MIMETypeMapping": { ".323": "text/h323", ".aaf": "application/octet-stream", ".aca": "application/octet-stream", ".accdb": "application/msaccess" } } |
AZCOPY_DEFAULT_SERVICE_API_VERSION | 覆盖服务 API 版本,使 AzCopy 可以容纳 Azure Stack 等自定义环境。 |
AZCOPY_DISABLE_HIERARCHICAL_SCAN | 仅当 Azure Blob 为源时才适用。 并发扫描速度更快,但使用分层列表 API,这可能会导致增加 IO/成本。 指定为“true”会降低性能,但能节省成本。 |
AZCOPY_DISABLE_SYSLOG | 在 Syslog 或 Windows 事件记录器中禁用记录。 默认情况下,AzCopy 会将日志发送到这些通道。 如果要降低 Syslog 或 Windows 事件记录器中的干扰,可以将此变量设置为 true。 |
AZCOPY_DOWNLOAD_TO_TEMP_PATH | 将 AzCopy 配置为在实际下载之前下载到临时路径。 允许的值为 true 或 false |
AZCOPY_JOB_PLAN_LOCATION | 覆盖作业计划文件(用于进度跟踪和恢复)存储的位置,以避免填满磁盘。 |
AZCOPY_LOG_LOCATION | 覆盖存储日志文件的位置,以避免填满磁盘。 |
AZCOPY_MSI_CLIENT_ID | 用户分配的托管标识的客户端 ID。 AZCOPY_AUTO_LOGIN_TYPE 设置为 MSI 时使用。 请参阅授权时不使用机密存储 |
AZCOPY_MSI_OBJECT_ID | 用户分配的托管标识的对象 ID。 AZCOPY_AUTO_LOGIN_TYPE 设置为 MSI 时使用。 请参阅授权时不使用机密存储 |
AZCOPY_MSI_RESOURCE_STRING | 用户分配的托管标识的资源 ID。 请参阅授权时不使用机密存储 |
AZCOPY_PACE_PAGE_BLOBS | 页 blob 的吞吐量是否应自动调整以匹配服务限制? 默认值为 true。 设置为“false”以禁用 |
AZCOPY_PARALLEL_STAT_FILES | 导致 AzCopy 在扫描本地文件系统时查找并行线程上的文件属性。 线程是从 AZCOPY_CONCURRENT_SCAN 定义的池绘制的。 将此值设置为 true 可提高 Linux 上的扫描性能。 不需要或不推荐在 Windows 上执行此操作。 |
AZCOPY_REQUEST_TRY_TIMEOUT | 设置 AzCopy 在 AzCopy 超时之前应尝试为每个请求上传文件的分钟数。 |
AZCOPY_SHOW_PERF_STATES | 如果设置为“任何内容”,屏幕上的输出将包括按状态的区块计数 |
AZCOPY_SPA_APPLICATION_ID | 服务主体应用注册的应用程序 ID。 AZCOPY_AUTO_LOGIN_TYPE 设置为 SPN 时使用。 请参阅授权时不使用机密存储 |
AZCOPY_SPA_CERT_PASSWORD | 证书的密码。 AZCOPY_AUTO_LOGIN_TYPE 设置为 SPN 时使用。 请参阅授权时不使用机密存储 |
AZCOPY_SPA_CERT_PATH | 证书文件的相对或完全限定的路径。 AZCOPY_AUTO_LOGIN_TYPE 设置为 SPN 时使用。 请参阅授权时不使用机密存储 |
AZCOPY_SPA_CLIENT_SECRET | 客户端机密。 AZCOPY_AUTO_LOGIN_TYPE 设置为 SPN 时使用。 请参阅授权时不使用机密存储 |
AZCOPY_TENANT_ID | 用于 OAuth 设备交互式登录的 Microsoft Entra 租户 ID。 此变量仅用于自动登录,请在调用登录命令时改为使用命令行标志。 |
AZCOPY_TUNE_TO_CPU | 如果设置为 false,则会在优化 AzCopy 并发级别(例如,在基准命令中)时,阻止其将 CPU 使用率考虑在内。 |
AZCOPY_USER_AGENT_PREFIX | 向默认 AzCopy 用户代理添加一个前缀,用于遥测。 将自动插入空格。 |
CPK_ENCRYPTION_KEY | Base64 编码的 AES-256 加密密钥值。 使用客户提供的密钥对 Blob 存储操作的数据进行加密和解密时,读取和写入请求都需要此变量。 可以通过设置 --cpk-by-value=true 标志来使用客户提供的密钥。 |
CPK_ENCRYPTION_KEY_SHA256 | 加密密钥的 Base64 编码 SHA256。 使用客户提供的密钥对 Blob 存储操作的数据进行加密和解密时,读取和写入请求都需要此变量。 可以通过设置 --cpk-by-value=true 标志来使用客户提供的密钥。 |
GOOGLE_APPLICATION_CREDENTIALS | 服务帐户密钥文件的绝对路径 提供密钥以对 Amazon Web Services 进行授权。 使用 AzCopy 将数据从 Google Cloud Storage 复制到 Azure 存储(预览版) |
GOOGLE_CLOUD_PROJECT | Google 云存储空间中的服务级别遍历所需的项目 ID。 |
HTTPS_PROXY | 为 AzCopy 配置代理设置。 将此变量设置为代理 IP 地址和代理端口号。 例如,xx.xxx.xx.xxx:xx 。 如果在 Windows 中运行 AzCopy,AzCopy 会自动检测代理设置,因此你无需在 Windows 中使用此设置。 如果在 Windows 中选择使用此设置,此设置会替代自动检测。 请参阅配置代理设置 |
配置代理设置
若要为 AzCopy 配置代理设置,请设置 HTTPS_PROXY
环境变量。 如果在 Windows 中运行 AzCopy,AzCopy 会自动检测代理设置,因此你无需在 Windows 中使用此设置。 如果在 Windows 中选择使用此设置,此设置会替代自动检测。
操作系统 | 命令 |
---|---|
Windows | 在命令提示符处使用 set HTTPS_PROXY=<proxy IP>:<proxy port> 在 PowerShell 中使用 $env:HTTPS_PROXY="<proxy IP>:<proxy port>" |
Linux | export HTTPS_PROXY=<proxy IP>:<proxy port> |
macOS | export HTTPS_PROXY=<proxy IP>:<proxy port> |
AzCopy 目前不支持要求通过 NTLM 或 Kerberos 进行身份验证的代理。
绕过代理
如果是在 Windows 上运行 AzCopy,并且想让它完全不使用代理(而不是自动检测设置),请使用以下命令。 使用这些设置时,AzCopy 不会寻求使用或尝试使用任何代理。
操作系统 | 环境 | 命令 |
---|---|---|
Windows | 命令提示符 (CMD) | set HTTPS_PROXY=dummy.invalid set NO_PROXY=* |
Windows | PowerShell | $env:HTTPS_PROXY="dummy.invalid" $env:NO_PROXY="*" |
在其他操作系统上,如果想要不使用代理,只需不设置 HTTPS_PROXY 变量即可。