Azcopy 节点
此软件包允许您引用 AzCopy v 10 (英语) 从NodeJS.
基本用途
const { AzCopyClient } = require("@azure-tools/azcopy-node");
let client = new AzCopyClient();
// AzCopy is used to move things from one location to another.
let src = /* a `AzCopyLocation` */;
let dst = /* a `AzCopyLocation` */;
// All functions that start AzCopy jobs return a job ID.
let jobId = await client.copy(src, dst);
let status;
// You use this job ID to check on the progress of your job, and know if it has finished.
while (!status || status.StatusType !== "EndOfJob") {
let jobInfo = await copyClient.getJobInfo(jobId)
status = jobInfo.latestStatus;
await new Promise((resolve, reject) => setTimeout(resolve, 1000));
}
在哪里找到 AzCopy 可执行文件
AzCopy可执行文件可在国家防范机制上提供,用于Windows(32和64位)、macOS和Linux。 此软件包已经声明其中每个都是可选的依赖性 。 确切的包裹有:
- @azure-tools/azopy-win32 (韩语)
- @azure-tools/azcopy-win64 (韩语)
- @azure-tools/azcopy-win-arm64 (韩语)
- @azure-tools/ azcopy-linux (缩写)
- @azure-tools/ azcopy- darwin (韩语)
- @azure-tools/azcopy-darwin-arm64 (韩语)
它们是可选的依赖性,因为每个软件包都声明自己只对它打算使用的OS有效. 这意味着当你逃跑时 npm install 只安装您当前运行的 OS 的 AzCopy 可执行文件 .
如果您想要安装所有版本, 您可以使用 --force 旗帜为 npm install。 。 。 .
指定要使用的 AzCopy 可执行文件
默认, AzCopyClient 将使用最符合您的操作系统和架构的 @azure-tools AzCopy 可执行软件包。 使用不同的可执行文件有两种可能性:
- 如果可用, 使用不同架构的@ azure- tools AzCopy 可执行软件包( bit-ness)
- 使用自定义 AzCopy 可执行文件
对于第一种情景,如果想要强制运行64bit可执行文件的32bit,您可以指定一个 bitness 在 AzCopyClient 构造器的选项对象中。 由于Windows是唯一一个同时提供32位和64位可执行文件的OS,这实际上只是Windows需要考虑的事情.
第二种情况你可以使用 exe azCopyClient 构造器在选项对象中指定自定义 AzCopy 可执行文件的路径。 如果你这样做,有两件事要知道:
- 此软件包以AzCopy的特定版本进行校验. 建议不使用不同的版本。 如果决定这样做,请确保适当测试和核实.
- 当使用一个
IRemoteAuthLocation,您不能在 Linux 上使用 AzCopy 的非 NPM 版本。 @azure-tools/azcopy-linux中的AzCopy使用AzCopy的特殊建筑.
Azure AD 设想方案
当你使用一个 IRemoteAuthLocation, azcopy-node 必须与运行中的 AzCopy 可执行文件共享该位置包含的认证/更新令牌 。 这是通过OS认证商店完成的. 由你来实施 ICredentialStore 并将其纳入您的选项 AzCopyClient 如果你愿意的话.
new AzCopyClient({
credentialStore: {
setEntry: async (service: string, account: string, value: string, exePath?: string, description?: string): Promise<void> => {
// you implement this
},
getEntry: async (service: string, account: string): Promise<string | null> => {
// you implement this
},
deleteEntry: async (service: string, account: string): Promise<boolean> => {
// you implement this
}
}
});
更多信息见JSDoc的评论 ICredentialStore 财务报告和审定财务报表 TokenRefresher。 。 。 .
常规
在macOS和Linux上你可能需要 chmod 执行文件,以便它们运行.
更改日志
3.4.15 (中文(简体) )
- 与AzCopy 10.32.2作对.
3.4.14 联合国
- 校对:AzCopy 10.320.
3.4.13 联合国
- 对AzCopy的验证103.1.1.
3.4.12 (中文(简体) )
- 与AzCopy 10.310.
- 已添加
preserveSymlinks改为ICopyOptions用于NFS转让.
3.4.11 联合国
- 与AzCopy 10.30.1作对.
3.4.10 (中文(简体) )
- 突破变革! 已重命名
preserveSmbInfo改为preserveInfo财务报告和审定财务报表preserveSmbPermissions改为preservePermissions内ICopyOptions反映通用的 AzCopy 旗帜(--preserve-info, (中文(简体) ),--preserve-permissions) (中文(简体) ). - 已添加
"File"改为AzCopyTarget用作通用文件共享目标"FileSMB"财务报告和审定财务报表"FileNFS"。 。 。 . getFromToOption()现在返回无效组合的等效有效选项(例如,getFromToOption("Blob", "FileSMB")返回时"BlobFile") (中文(简体) ).
3.4.9 (中文(简体) )
- 对AzCopy10.0.
- 新增 NFS 文件共享支持
"FileNFS"财务报告和审定财务报表"FileSMB"目标AzCopyTarget。 。 。 . - 已更改
FromToOption从硬编码结合到计算类型AzCopyTarget组合. - 已添加
getFromToOption()计算有效的助手函数--from-to源/目的地目标选项.
3.4.8 (中文(简体) )
- 当在Node.js Windows ARM64上运行时,
AzCopyClient现在使用/优先使用@azure-tools/azcopy-win-arm64过@azure-tools/azcopy-win64伊丝.
3.4.7 (中文(简体) )
- 对AzCopy 10.29.1进行了验证.
- 被移动到使用SHA256与AzCopy共享符.
3.4.2 国家
- 校对:AzCopy 10.26.0.
3.4.1 国家
- 对AzCopy 10.25.1进行了验证.
3.3.0 (单位:千美元)
- 校对:AzCopy 10.24.0.
- 设置了 HTTPS PROXY 或 NO PROXY 环境变量后, AzCopy 客户端无法启动任务 .
- 当在Node.js Windows ARM64上运行时,
AzCopyClient现在使用/优先使用@azure-tools/azcopy-win64过@azure-tools/azcopy-win32伊丝.
3.2.0 (中文(简体) )
- 对AzCopy 10.23.0.
3.1.0 (中文(简体) )
- 与AzCopy 10.2.2作对.
- 已添加
getCliCommand方法打开AzCopyClient。 。 。 .
3.0.0 (单位:千美元)
- 添加了macOS ARM64 AzCopy作为依赖.
- 已添加
trailingDot改为ICommonOptions。 。 。 . - 删除
Bitness从IAzCopyClientOptions。 。 。 . - 更新了获取 AzCopy 可执行文件的功能 .
2.1.20. 国家
- 对AzCopy的验证
- 添加“ 粗体” 作为支持的块 blob 级
ICopyOptions。 。 。 .
2.11.0. 国家
- 对AzCopy进行验证
- 改进评论
listOfFiles财务报告和审定财务报表listOfVersions内ICommonOptions。 。 。 .
2.10.1 国家
- 已添加
"FileBlob"财务报告和审定财务报表"BlobFile"改为FromToOption
2.1.0 国家
- 已添加
preserveBlobTags改为ICopyOptions
2.9.0 国家
- 已添加
jobsRemove方法打开AzCopyClient
2.8.0 (中文(简体) )
- 对AzCopy的验证
- 已添加
"FileFile改为FromToOption - 已添加
includeRegex改为ICopyOptions - 已添加
asSubDir改为ICopyOptions - 为了方便,增加了几个新类型:
OverwriteExistingOption用于:ICopyOptionsAccessTier用于:ICopyOptionsRemoteAzCopyLocation所有偏远地区的结合
2.7.0 (中文(简体) )
- 对AzCopy进行验证 10.16.0
- 添加a
deleteJob方法AzCopyClient。当任务的信息/状态不再需要时,使用此函数保存内存. - 添加对动态改变带宽的支持 。 支助包括:
- 增 编
nextPerformanceAdjustmentTime改为IJobInfo - 增 编
adjustCapMbps方法打开AzCopyClient
- 增 编
2.6.0 (中文(简体) )
- 与AzCopy 10.14.1作对.
2.5.0 (中文(简体) )
- 校对:AzCopy 10.13.0.
2.4.0 (中文(简体) )
- 对AzCopy的鉴定
- 已添加
includeDirectoryStub改为ICopyOptions - 固定
--trusted-microsoft-suffixes正在添加到命令时trustedDomainSuffixes是一空数组.
2.3.0 (单位:千美元)
- 对AzCopy的验证
- 两者共同的选项
ICopyOptions财务报告和审定财务报表IDeleteOptions被移动到一个新的界面,ICommonOptions,与ICopyOptions财务报告和审定财务报表IDeleteOptions每一个都继承了这个接口. - 已添加
includePath改为ICopyOptions财务报告和审定财务报表IDeleteOptions。 。 。 . - 已添加
logLevel改为ICopyOptions财务报告和审定财务报表IDeleteOptions。 。 。 . - 已添加
disableAutoDecoding改为ICopyOptions。 。 。 . - 已添加
cacheControl改为ICopyOptions。 。 。 .
2.2.0 (中文(简体) )
- 对AzCopy 10.10.
- 已添加
blockSizeMb改为ICopyOptions。 。 。 . - 已添加
trustedDomainSuffixes改为ICopyOptions财务报告和审定财务报表IDeleteOptions。 。 。 .
2.1.0 国家
- 校对:AzCopy 10.9.0.
2.0.0 (韩语)
- 校对:AzCopy 10.8.0.
- 突破变革! 此套件不再直接依赖于
keytar或者说macos-keychain。如果想要使用IRemoteAuthLocation您现在必须执行ICredentialStore并将其纳入您的选项AzCopyClient。见 Azure AD 设想方案 和联合来文文件的评论ICredentialStore财务报告和审定财务报表TokenRefresher更多信息. - 现在所有远程地点都包含一个可选位置
versionId。这可用于指向blob版本. - 已添加
listOfVersions改为ICopyOptions财务报告和审定财务报表IDeleteOptions类似工作listOfFiles。详见两个选项文件中的JSDoc评论. - 已添加
"Archive"作为可能值accessTier复制选项. - 已添加
forceIfReadOnly改为IDeleteOptions。 。 。 . - 已添加
tags改为ICopyOptions。 。 。 .
1.0.0 (单位:千美元)
- 这个包的第一个版本!
- 校对:AzCopy 10.5.0.