Azure Blob容器上来自R的已存储访问策略列表

yeotifhr  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(110)

我正在尝试列出Azure存储帐户中的所有容器及其来自R的存储访问策略!例如,在存储帐户mystor中,我有一个blob容器A,其中存储的访问策略具有4个属性:x一米二氮一x、x一米三氮一x、x一米四氮一x和x一米五氮一x。
使用Azurestor包,我可以列出所有容器:

library(AzureStor)

bl_endp <- storage_endpoint("https://mystor.blob.core.windows.net", key="mykey")
cont_list <-list_storage_containers(bl_endp)

结果是所有容器的列表,其中样本如下所示:

cont_list = list(`A` = structure(list(name = "A", 
                                                     endpoint = structure(list(url = "https://mystor.blob.core.windows.net", 
                                                                               key = "mykey", 
                                                                               token = NULL, sas = NULL, api_version = "2021-06-08"), class = c("blob_endpoint", 
                                                                                                                                                "storage_endpoint"))), class = c("blob_container", "storage_container"
                                                                                                                                                )), `B` = structure(list(name = "B", 
                                                                                                                                                                                                    endpoint = structure(list(url = "https://mystor.blob.core.windows.net", 
                                                                                                                                                                                                                              key = "mykey=", 
                                                                                                                                                                                                                              token = NULL, sas = NULL, api_version = "2021-06-08"), class = c("blob_endpoint", 
                                                                                                                                                                                                                                                                                               "storage_endpoint"))), class = c("blob_container", "storage_container"
                                                                                                                                                                                                                                                                                               )), `C` = structure(list(name = "C", 
                                                                                                                                                                                                                                                                                                                                                   endpoint = structure(list(url = "https://mystor.blob.core.windows.net", 
                                                                                                                                                                                                                                                                                                                                                                             key = "mykey", 
                                                                                                                                                                                                                                                                                                                                                                             token = NULL, sas = NULL, api_version = "2021-06-08"), class = c("blob_endpoint", 
                                                                                                                                                                                                                                                                                                                                                                                                                                              "storage_endpoint"))), class = c("blob_container", "storage_container"
                                                                                                                                                                                                                                                                                                                                                                                                                                              )), `D` = structure(list(name = "D", 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        endpoint = structure(list(url = "https://mystor.blob.core.windows.net", 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  key = "mykey", 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  token = NULL, sas = NULL, api_version = "2021-06-08"), class = c("blob_endpoint", 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   "storage_endpoint"))), class = c("blob_container", "storage_container"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   )))

但我没有找到任何帮助我提取存储访问策略的详细信息!请注意,此存储帐户中的所有容器都有一些存储访问策略。

sr4lhrrt

sr4lhrrt1#

我已在我的环境中重现,并获得预期结果,已通过以下流程完成,我遵循Microsoft-document
我创建了一个名为emopolicy的存储策略。
首先,我创建了一个Azure-Databricks笔记本,然后首先执行以下命令:

%r
system("curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash")

然后执行以下命令:

%r
conname <- "rithwik"
staccname <- "rithst"
stacckey <- "IPtYO36XzZeLWPLLQC+AStyI5KiQ=="
comm <- paste("az storage container policy list --account-name", staccname, "--account-key", stacckey, "--container-name", conname)
pol <- system(comm, intern=TRUE)
print(pol)

这里,conname =容器的名称,
staccname =存储帐户的名称,
stacckey =存储帐户密钥

这里的expiration和start为null,因为我在创建策略时没有给出任何start和expiration。
这里我给出了容器名的硬编码值,你可以在一个循环中得到所有的容器名,然后在这里给予它。
在这里,我使用Azure Cli(安装它,然后使用)在R语言.
我已经得到了所需的输出,你会得到相同的,如果你尝试按照上述过程。

相关问题