我想将文本文件从虚拟机上传到存储帐户。为此,我创建了一个启用了系统分配的托管标识的虚拟机。我将托管标识作为 RBAC 策略分配给存储帐户(赋予存储 Blob 数据所有者权限)。我现在想使用curl 请求将文件上传到容器名称日志中(因为我没有在虚拟机中安装az cli)。我怎样才能做到这一点。
我要上传的文件是test.txt,并且想以同名上传。
谢谢
将文件作为 blob 上传到 azure 存储帐户,并使用托管标识进行身份验证。
有多种方法可以将文件上传到
storage account
。
方法一:
使用
SAS
令牌和 'curl' 命令将文件上传到存储帐户。
所需权限的
SAS
令牌 curl -H "x-ms-blob-type: BlockBlob" --upload-file samplefile.txt --url "https://venkat12.blob.core.windows.net/log/samplefile.txt?<SAS_Token>"
输出:
文件已上传到存储帐户。
方法 2::Azcopy 与
managed Identity
下载 AzCopy:
wget https://aka.ms/downloadazcopy-v10-linux
提取 AzCopy
tar -xvf downloadazcopy-v10-linux
将 AzCopy 移动到目录
sudo cp ./azcopy_linux_amd64_*/azcopy /usr/local/bin/
验证安装:
azcopy --version
登录:
sudo azcopy login --identity
执行以下命令
upload
将文件添加到存储帐户。
sudo azcopy copy '/home/Venkat/samplefile.txt' 'https://venkat12.blob.core.windows.net/log/samplefile.txt'
输出: