Command line rclone和设置/重置azure容器的公共访问级别

Command line rclone和设置/重置azure容器的公共访问级别,command-line,azure-storage,azure-storage-blobs,fedora,rclone,Command Line,Azure Storage,Azure Storage Blobs,Fedora,Rclone,工具rclone似乎有限制,不允许在创建时或以后对容器的blob或容器设置/重置公共访问级别。容器的默认公共访问级别设置为private 下面是rclone命令,用于在容器不存在时创建容器 rclone mkdir azure:mycontainer 有一个azure ctl命令似乎工作正常,能够设置/重置此级别。但是,rclone工具中缺少相同的功能。或者,我可能不知道如何使用rclone az存储容器创建 --名称 --帐户名 --资源组 --公共访问关闭 --帐户密钥 --身份验证模式密钥

工具
rclone
似乎有限制,不允许在创建时或以后对容器的blob或容器设置/重置公共访问级别。容器的默认公共访问级别设置为
private

下面是rclone命令,用于在容器不存在时创建容器

rclone mkdir azure:mycontainer

有一个
azure ctl
命令似乎工作正常,能够设置/重置此级别。但是,
rclone
工具中缺少相同的功能。或者,我可能不知道如何使用
rclone

az存储容器创建
--名称
--帐户名
--资源组 --公共访问关闭
--帐户密钥
--身份验证模式密钥

详情:

Rclone v1.48.0
Fedora 29, 64 bit
在与检查后,我们发现无法使用Rclone工具设置/重置公共访问级别

您可以通过以下方式实现:

  • 在门户上设置:

  • 使用powershell命令:

     # Set variables.
     $rgName = "<resource-group>"
     $accountName = "<storage-account>"
    
     # Get context object.
     $storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
     $ctx = $storageAccount.Context
    
     # Create a new container with public access setting set to Off.
     $containerName = "<container>"
     New-AzStorageContainer -Name $containerName -Permission Off -Context $ctx
    
     # Read the container's public access setting.
     Get-AzStorageContainerAcl -Container $containerName -Context $ctx
    
     # Update the container's public access setting to Container.
     Set-AzStorageContainerAcl -Container $containerName -Permission Container -Context $ctx
    
     # Read the container's public access setting.
     Get-AzStorageContainerAcl -Container $containerName -Context $ctx
    
    #设置变量。
    $rgName=“”
    $accountName=“”
    #获取上下文对象。
    $storageAccount=Get-AzStorageAccount-ResourceGroupName$rgName-Name$accountName
    $ctx=$storageAccount.Context
    #创建一个公共访问设置为Off的新容器。
    $containerName=“”
    新AzStorageContainer-名称$containerName-权限关闭-上下文$ctx
    #读取容器的公共访问设置。
    获取AzStorageContainerAcl-Container$containerName-Context$ctx
    #将容器的公共访问设置更新为容器。
    设置AzStorageContainerAcl-Container$containerName-Permission Container-Context$ctx
    #读取容器的公共访问设置。
    获取AzStorageContainerAcl-Container$containerName-Context$ctx
    
  • 使用Azure CLI命令:

     az storage container create \
         --name <container-name> \
         --account-name <account-name> \
         --resource-group <resource-group>
         --public-access off \
         --account-key <account-key> \
         --auth-mode key
    
     az storage container show-permission \
         --name <container-name> \
         --account-name <account-name> \
         --account-key <account-key> \
         --auth-mode key
    
     az storage container set-permission \
         --name <container-name> \
         --account-name <account-name> \
         --public-access container \
         --account-key <account-key> \
         --auth-mode key
    
     az storage container show-permission \
         --name <container-name> \
         --account-name <account-name> \
         --account-key <account-key> \
         --auth-mode key
    
    az存储容器创建\
    --名字\
    --帐户名\
    --资源组
    --公众通道关闭\
    --帐户密钥\
    --身份验证模式密钥
    az存储容器显示权限\
    --名字\
    --帐户名\
    --帐户密钥\
    --身份验证模式密钥
    az存储容器设置权限\
    --名字\
    --帐户名\
    --公共访问容器\
    --帐户密钥\
    --身份验证模式密钥
    az存储容器显示权限\
    --名字\
    --帐户名\
    --帐户密钥\
    --身份验证模式密钥
    

  • 你介意接受我的答复吗?或者你可以发布另一个回复,让其他人知道并关闭此问题。我正在等待代码合并到
    rclone
    main repo,以便下一个版本可以像azure ctl工具一样工作,然后我将添加我的答案。不管怎样,我已经对你的答案投了赞成票,没关系。谢谢你的贡献。@mankur谢谢你提供的详细信息。是的,我知道这些选项,但希望将其添加到
    rclone
    工具中。我查看了
    rclone
    pkg,发现它不见了,下一个版本可能会有它。