首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows上使用python实现天青复制的自动化

在windows上使用python实现天青复制的自动化
EN

Stack Overflow用户
提问于 2020-06-02 12:13:13
回答 1查看 5.7K关注 0票数 0

--我正在尝试使用从python中复制, --我已经从CLI中使用了它,而且它正在工作!

我已经成功地执行了以下命令:

上传:

代码语言:javascript
复制
set AZCOPY_SPA_CLIENT_SECRET=<my client secret>
azcopy login --service-principal --application-id=<removed> --tenant-id=<removed>
azcopy copy "D:\azure\content" "https://dummyvalue.blob.core.windows.net/container1/result4" --overwrite=prompt --follow-symlinks --recursive --from-to=LocalBlob --blob-type=Detect

同样用于下载

代码语言:javascript
复制
azcopy copy "https://dummyvalue.blob.core.windows.net/container1/result4" "D:\azure\azcopy_windows_amd64_10.4.3\temp\result2" --recursive

现在,--我想使用python自动化这些命令,我知道azcopy也可以使用SAS键,但这超出了我的工作范围。

第一次尝试:

代码语言:javascript
复制
from subprocess import call
call(["azcopy", "login", "--service-principal", "--application-id=<removed>", "--tenant-id=<removed>"])

第二次尝试:

代码语言:javascript
复制
import os
os.system("azcopy login --service-principal --application-id=<removed> --tenant-id=<removed>")

我在我的环境中已经有了set AZCOPY_SPA_CLIENT_SECRET

我在windows上使用python 3。

每次我收到这个错误:

未能执行登录命令:服务主体auth需要应用程序ID和客户端机密/证书

注意:如果您的凭据是在最后5分钟内创建的,请稍等几分钟再试一次。

我不想用Azure来做这个工作

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-03 07:06:27

这是因为set cmd没有设置永久的环境变量,它只在当前的windows提示符中生效。

您应该通过UI手动设置环境变量,或者尝试使用setx命令。

我使用您的代码进行了测试,根据UI手动设置环境变量 of AZCOPY_SPA_CLIENT_SECRET,然后代码可以在没有问题的情况下运行(可能需要几分钟才能生效)。

测试结果如下:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62151754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档