我正在创建一个将在Azure中托管的应用程序.在此应用程序中,用户将能够上传自己的内容.他们还将能够配置能够读取其文件的其他受信任应用用户的列表.我正在试图弄清楚如何构建存储.
我认为我将创建一个以每个用户的应用程序ID命名的存储容器,并且他们将能够在那里上传文件.我的问题涉及如何授予用户应该访问的所有文件的读访问权限.我一直在阅读有关共享访问签名的内容,他们似乎非常适合我正在努力实现的目标.但是,我正在评估授予用户访问权限的最有效方式.我认为存储访问策略可能很有用.但具体来说:
我可以使用一个共享访问签名(或存储的访问策略)来授予用户访问多个容器的权限吗?我发现了一条我认为非常相关的信息:
http://msdn.microsoft.com/en-us/library/windowsazure/ee393341.aspx
Run Code Online (Sandbox Code Playgroud)
"容器,队列或表最多可包含5个存储的访问策略.每个策略都可以由任意数量的共享访问签名使用."
但我不确定我是否理解正确.如果用户与其他20个人连接,我可以授予他或她访问20个特定容器的权限吗?当然,我可以生成20个单独的存储访问策略,但这看起来效率不高,当他们第一次登录时,我计划显示来自所有其他可信应用用户的内容摘要,这相当于要求一次20个签名(如果我理解正确的话).
谢谢你的任何建议...... - 贝恩
我试图仅通过rowkey值从azure存储过滤器中删除行.但我没有看到删除操作的任何重载,我们只能用rowkey过滤.是否有其他选项可以从azure存储表中删除具有特定rowkey的记录的行?
RemoveEntityByRowKey('123456');
public static void RemoveEntityByRowKey(string myRowKey)
{
try
{
CloudTable table = _tableClient.GetTableReference("MyAzureTable");
TableOperation delteOperation = TableOperation.Delete(myRowKey);
table.Execute(delteOperation);
}
catch (Exception ex)
{
LogError.LogErrorToAzure(ex);
throw;
}
}
Run Code Online (Sandbox Code Playgroud) 我为我的个人项目使用本地 Git 存储库(无远程版本)。一切都会同步到 Google Drive,包括 Git 文件和目录。
昨天我注意到两个类从我的工作副本中消失了。我使用 Git checkout 来检索它们。今天,三个类(文件)消失了,我的 Gitgit status存储库损坏了,所以可以说那里没有存储库。我注意到 Google Drive 正在同步大约 30,000 个文件,其中大部分是从该目录中删除文件。我停下来检查我的回收站,在那里我发现了一堆 Git 文件。恢复它们返回了我的 Git 存储库,我曾经将其硬重置为 HEAD 并取回丢失的类/文件。
有没有人有过将本地 Git 存储库同步到云存储并找到解决方案的经验?我不明白为什么 Google Drive 应该决定清除我的文件,尤其是 Git 文件。
我正在开发一个使用 Rails 作为后端 API 服务器的项目。上传客户文件将是该应用程序最重要的部分之一(它类似于 CRM/ERP 系统)。然而,由于客户的安全和隐私问题,我的客户更喜欢将所有数据和文件存储到他们自己的服务器中。
但是,当我阅读 ActiveStorage 的文档时,听起来:disk选项仅用于test环境development。我知道使用像 s3 这样的云存储将受益于可扩展性和备份内容,这对于 Web 开发来说非常安全和灵活,但毕竟,你知道,客户的要求。
1)因此,想知道是否最好:disk在任何生产环境中使用?我可能会错过哪些缺点?
另外,我对文件进行备份会不会很困难,正如我在路径中看到的/storage,文件都保存为不与原始文件同名的文件。
我有一个猜测,我是否可以通过执行pg_dump和克隆整个站点目录(包括/storage文件)来备份整个站点(它们将是 gitignore,所以我需要自己备份它们并执行一些 git clone git pull 操作)在进行恢复或服务器转换时)。这个工作流程能完美运行吗?
:disk2) 如果我使用ActiveStorage 中的选项,实际的备份和恢复流程应该是什么?
感谢您的帮助,并且非常感谢您的帮助!
我有一个 chrome 扩展,目前使用 storage.sync 作为数据存储。我正在尝试升级到更强大的数据存储(cloudant、iriscouch),以便我可以扩展扩展程序的功能。
我面临的问题是,我见过的免费云存储选项(cloudant、iriscouch、mongolab)都不支持 cors(或者在 mongolab 的情况下 - 免费层是不够的)
所以我有几个问题:
谢谢!
不小心在错误的存储桶上运行删除命令,对象版本控制已打开,但我不太明白应该采取哪些步骤来恢复文件,或者更重要的是,如何批量执行此操作,因为我已经删除了数百个文件其中。
将不胜感激任何帮助。
我需要将用户上传到我网站的所有文档存储在一个 Drive 帐户中。
这些文档位于用户的计算机上。他们没有也不想拥有 Google Drive 帐户。
目前尚不清楚“Google Drive API”是否可以实现这一点,或者我是否需要仅存储文件更昂贵的“Google Cloud Storage API”。
所述API必须为每个用户的文档创建一个文件夹。
除此之外,我还需要 G Suite 帐户吗?
感谢一百万的帮助
cloud-storage google-cloud-storage google-drive-api google-workspace
我使用 B2 作为我们开发的网站上图像的存储。
事实上,B2 需要提供数百万张图像,我想知道使用本机 URL 或 B2 提供的友好 URL 在交易上限方面是否有区别?
请参阅下面的示例 URL:

对于发送到 Amazon S3 Blob 存储的 PUT 请求,是否存在与“If-Match”(Azure) 或“x-goog-if- Generation-match”(Google Storage) 等效的等效项?
这两个标头都执行相同的操作 - 它们允许您指定覆盖对象的 PUT 请求仅在覆盖对象的特定先前版本时才应成功。细节:
https://cloud.google.com/storage/docs/xml-api/reference-headers#xgoogif Generationmatch
谢谢!
kubernetes)似乎没有一个好的 devops/configuration-as-code 方法来在 docker 卷上设置正确的所有者/权限,因此(非 root)用户无法写入卷当以non-root用户身份运行容器进程并且我想写入(cloudstor,aws-ebs)docker 卷时,什么是好的做法。
在(和外部)docker 容器中以 root 身份运行进程被认为是不好的做法(参见例如ref1,ref2,...)。这可能具有安全隐患。
但是当我们开始使用 docker 卷并且非 root 用户尝试写入卷时,麻烦就开始了。我找不到一个干净的解决方案,可以在没有人工干预的情况下在云基础设施上运行。我发现的所有工作解决方案似乎都在某些方面存在不足(安全性、可维护性……)。
作为一个侧面说明,我们正在部署上docker-swarm使用cloudstor,以提供aws-ebs卷。我们希望有朝一日迁移到 kubernetes,但我们还没有 kubernetes,因此我们尝试为我们的设置寻找替代解决方案。
正如这里所建议的,如果docker-compose创建一个新卷,将传播对图像内目录的权限。
缺点:
cloudstor,这可能也不起作用,因为它不会docker-compose配置卷(未测试)hasat 创建了一个volumes-provisioner映像,它可以在真正的容器启动之前设置正确的文件夹权限。
缺点:
ebs 卷只能挂载在单个 docker 容器上,这导致了许多部署问题docker run用于更正文件权限 …file-permissions cloud-storage docker docker-compose docker-swarm