问题标签 [cloud-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sharepoint - 如何在 SharePoint Online 中仅存储本地和云存储文件的元数据,而不是文件本身?
我是 SharePoint Online 的新手,但没有通过 Google 找到任何东西:我的文件系统和云存储上存储了大量文件(读取:TB),并且希望访问它们的元数据以允许搜索它们。如果不将它们上传到 SharePoint Online,这可能吗?还应该可以“同步”已爬网文件夹的层次结构,以便我可以单击 SharePoint 中的文件夹结构。我不想存储这些文件的内容(出于存储空间的原因)。
这就像在 SharePoint 中有一个同步文件夹,其中文件是可搜索的,但它们只是某种快捷方式,没有内容。
我想创建某种定时作业来爬取文件系统并在 SharePoint 中创建包含元数据和文件链接的空文件,但这对我来说似乎很粗糙。是否有更好的解决方案,或者甚至是 SharePoint Online 本身提供的东西?
// 已编辑:我不仅需要抓取文件系统上的文件,还需要抓取不同云存储服务的云存储文件。
// 哎呀搞错了,它是 SharePoint Online,而不是 2013。
java - 无法从 Java 应用程序连接到开放堆栈对象存储
我正在尝试使用 JOSS 连接到对象存储。
这是我的连接代码:
但是我得到了如下所示的异常。
请帮我解决这个问题。谷歌了很多,但无法找到解决方案。任何帮助表示赞赏。谢谢。
注意:通过提供相同的凭据 AuthUrl,我能够从 cloudberry 等客户端连接到开放堆栈对象存储。
java.lang.NoSuchFieldError: UNWRAP_ROOT_VALUE at org.javaswift.joss.command.impl.core.AbstractCommand.createObjectMapper(AbstractCommand.java:137) at org.javaswift.joss.command.impl.identity.KeystoneAuthenticationCommandImpl.setAuthenticationHeader(KeystoneAuthenticationCommandImpl.java :46) at org.javaswift.joss.command.impl.identity.KeystoneAuthenticationCommandImpl.(KeystoneAuthenticationCommandImpl.java:29) at org.javaswift.joss.command.impl.factory.AuthenticationCommandFactoryImpl.createAuthenticationCommand(AuthenticationCommandFactoryImpl.java:27) at org .javaswift.joss.client.impl.ClientImpl.createAccount(ClientImpl.java:84) 在 org.javaswift.joss.client.impl.ClientImpl.createAccount(ClientImpl.java:27) 在 org.javaswift.joss.client.core .AbstractClient.authenticate(AbstractClient.java:35) 在 org.javaswift.joss.client.factory.AccountFactory.createAccount(AccountFactory.java:30) 在 com.intel.vpg.avl.controller.AvlController.reports(AvlController.java:172) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method ) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org .springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc .method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:617)的org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:第578章.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) ) 在 javax.servlet.http.HttpServlet。service(HttpServlet.java:624) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java :241) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) 在 org.springframework.security 的 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)。 web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 在 org.springframework。security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.access。 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在 org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java: 103) 在 org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 在 org.springframework.security 的 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) .web。FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy. java:342) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework .security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在 org.springframework.security.web。authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter( LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) at org .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在 org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 在 org.springframework.security.web.FilterChainProxy。doFilter(FilterChainProxy.java:160) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache .catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java :220) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 在 org.apache.catalina.core 的 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)。 StandardHostValve.invoke(StandardHostValve.java:170) 在 org.apache.catalina.valves。ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol .java:620) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util。 concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable。在 java.lang.Thread.run(Thread.java:745) 处运行(TaskThread.java:61)
python - 使用 Google Cloud Storage API 处理大文件
我需要实现的是使用库将文件列表连接到单个文件中cloudstorage
。这需要在 mapreduce 分片内进行,该分片的内存上限为 512MB,但连接的文件可能大于 512MB。
当文件大小达到内存限制时,以下代码段会中断。
有没有办法绕过这个问题?也许以块的形式打开或附加文件?以及如何做到这一点?谢谢!
== 编辑 ==
经过更多测试,似乎内存限制仅适用于f.read()
,而写入大文件是可以的。分块读取文件解决了我的问题,但我真的很喜欢compose()
@Ian-Lewis 指出的函数。谢谢!
algorithm - 开发可靠简单的网络备份软件
是否有任何久经考验的策略、算法和开源数据存储格式可用于为慢速网络驱动器开发可靠且快速的增量备份软件?
我打算使用 Qt 框架或 .NET(尚未决定),但编程语言并不重要,因为我正在寻找想法和解决方案而不是代码(尽管拥有 SDK 或库会很好)。
我不打算创建企业级客户端-服务器解决方案,而是一些简单但仍可根据我的需要进行调整的东西。
长篇大论:
我一直在努力寻找可靠的备份软件,它至少支持对数据和文件名进行简单的混淆(XOR 加密对我来说很好),并且还能够从备份存档中枚举和提取单个文件。
我想备份到模拟的网络驱动器(使用 Expandrive 或 NetDrive)。
我尝试了许多不同的程序,但每个程序都至少有一个严重缺陷。由于复杂的算法,某些程序太慢而无法备份到网络驱动器。有些程序将所有内容压缩为一个大的 zip 或自定义格式文件,这些文件可以分成几部分,但如果我尝试枚举和提取单个文件,它通常会超时。有些程序会加密文件内容,但会完全打开文件名,甚至不会对其进行混淆。
我还尝试了一些直接备份到云服务的专用程序,但它们被简化或没有为我打算主要使用的 Google Drive 提供任何加密。
这就是为什么我决定创建一些我可以根据自己的喜好进行调整的自定义项。这也是我学习如何正确实施备份过程的机会。
目前我的想法是将我的备份分成一些小的(100MB?50MB?还不确定......)按顺序编号的存储桶(文件夹)。我可以在当前正在进行的存储桶中存储一个锁定文件。如果备份过程中断并重新启动,我可以检查锁定文件是否存在,然后我知道我必须从头开始重新启动该存储桶。
使用这个存储桶系统,我必须确保每个存储桶都有完整的文件。这意味着如果我存储一个 1GB 的文件,我不能将它分成更多的部分,因为这会使自定义文件寻址表等变得非常复杂。所以,我的存储桶大小只是一个推荐的目标,但并不严格。
另一个问题是如何存储文件列表及其修改时间,这样我就可以实现基于时间戳的增量备份并尽可能快地加载列表。我不确定将每个存储桶的文件列表存储在该存储桶中是否是个好主意。也许将它存储在一个文件中会更好,以便我可以立即下载它?但是我可能会损坏该文件列表,并且我将无法恢复它。因此,将文件列表本身存储在存储桶中似乎更好,但我不确定我是否没有遗漏一些东西。
对于加密,正如我所说,简单的 XOR 对我来说很好,但如果我需要更好的东西(并且需要更多的资源),我可以添加一些 AES - 有很多库可以完成这项任务。我还想加密文件列表。但我不确定我应该如何处理文件 - 我应该单独加密每个文件还是应该加密整个存储桶?
我最关心的是可靠性。如何检查存档中的文件是否未损坏?腐败是我将他的档案存储在存储桶中的原因之一。如果数据损坏,则只有一个或多个存储桶会损坏。但是如何检测腐败呢?我可以计算校验和,但我不知道如何快速完成以及我应该为它们计算什么 - 单个文件?整个桶?使用什么算法来避免备份过程因为计算校验和而变得太慢?
我可以按如下方式实现重复数据删除。在备份期间,我在内存中有两个文件列表(服务器和本地)。如果我遇到两次出现的文件名,我可以做校验和看看它们是否相同,如果它们相同,我只将文件存储在一个存储桶中,但在第二个存储桶的文件列表中我标记该文件是重复的存储在第一个存储桶中的另一个文件,当从存档中恢复时,我可以提取该单个文件并将其复制到两个地方。
所有这些问题都让我产生了一个异端的想法——也许我可以使用 git?
但我怀疑它是否是备份 100GB 数据的好工具。至少,我可能会从 git 中学到一些有用的技巧,但我再次不确定哪些想法会或不会用于备份目的。
如果有人从事过类似的实现,很高兴听到您的经验以及一些想法和警告,这些想法在直觉上似乎是正确的,但在实践中可能会变得很糟糕。
mysql - 在 CloudVPS 中创建数据库
目前我正在使用 CloudVPS,我需要在 cloudVPS 中创建一个数据库。所以我决定在 CloudVPS 中安装 MySql 和 phpMyAdmin。我想知道,在cloudVPS中是否已经安装了MySql?如果是我如何启用它?如何在 cloudVPS 中安装 phpMyAdmin?
azure-blob-storage - 来自 SAS url 的 Azcopy 给出错误
我正在尝试从 SAS url 位置复制到目标存储帐户。我尝试了以下命令,但几乎没有错误:
AzCopy.exe /来源:http ://www.blob.core.windows.net/vhd1/?sv=2014-02-14&sr=c&sig=xxxxxxxxxxxxxxxxx&st=2015-08-05T04%3A00%3A00Z&se=2015-09-01T04 %3A00%3A00Z&sp=rl /Dest: https://yyyyyyyy.blob.core.windows.net/vhds /Destkey:zzzzzzzzzzzzzzzzzzz 文件名1.vhd /Y
该命令的语法不正确。参数“源”中的 SAS 令牌无效。'sr' 不是内部或外部命令、可运行程序或批处理文件。'sig' 不是内部或外部命令、可运行程序或批处理文件。'st' 不是内部或外部命令、可运行程序或批处理文件。'se' 不是内部或外部命令、可运行程序或批处理文件。'sp' 不是内部或外部命令、可运行程序或批处理文件。
AzCopy.exe /来源:http ://wwwwwwwwww.blob.core.windows.net/vhd1 /目标:https ://xxxxxxxxxx.blob.core.windows.net/vhds /SourceSAS:?sv=2014-02-14&sr =c&sig=yyyyyyyyyy&sp=rl /Destkey:zzzzzzzzz 文件名1.vhd /Y
该命令的语法不正确。参数“SourceSAS”中的 SAS 令牌无效。'sr' 不是内部或外部命令、可运行程序或批处理文件。'sig' 不是内部或外部命令、可运行程序或批处理文件。'st' 不是内部或外部命令、可运行程序或批处理文件。'se' 不是内部或外部命令、可运行程序或批处理文件。'sp' 不是内部或外部命令、可运行程序或批处理文件。
我想知道这些错误的原因可能是什么。
谢谢
azure-storage - Azcopy not working for a sas url that is working on browser
I am trying to copy a vhd from a sas url but that is throwing an error:
But the same url when entered into a browser is able to download the vhd. I noticed one aspect with the sas url signature that the "sp=r" probably means it has read permissions. Sas urls that I could successfully copy have "sp=rl" which probably means it has both read and list permissions.
Is there a way of using Azcopy on urls that don't have list permissions? Or is the issue something else?
cloud - 我可以使用我电脑的相同文件夹位置来存储 2 个不同的云存储数据吗?
我想将相同的数据存储到 2 个不同的云存储中以确保额外的安全性。从两个帐户进行随机修改的同步过程中是否有任何问题?云存储是:Dropbox 和 MS One 驱动器。
amazon-web-services - 使用 Amazon Lambda 将文件从 S3 导出到另一个云存储?
我想添加一个导出功能,将一些数据从 S3 传输到用户选择的另一个云存储。
我已经通过在 amazon t2.micro 实例上使用简单的 node.js 服务器来做到这一点,该实例从 S3 获取文件并将其通过管道发送到所需云存储的 POST 请求。
这个解决方案的问题是我的亚马逊基础设施的可扩展性和网络饱和。
我最近发现了 Amazon Lambda,并认为它会是我的功能的完美解决方案,但后来我发现该功能无法运行超过 300 秒,并且我的某些文件可能需要超过 300 秒。
我知道有一些像 mover.io 这样的服务可以处理这个问题,但它们不支持我需要导出到的一些云存储。
你有什么建议?
谢谢你。
get - 使用 libcurl 从 SoftLayer 对象存储发送和获取数据
我是 libcurl 和所有云技术的新手。
我需要在云中存储和检索 1024 字节对象作为对象,其中每个对象具有 2 个属性,即文件名和 id。
有人可以指导我如何解决这个问题,或者只是给我一个 C 语言的例子,以便我能够理解整个过程。
现在我什至无法弄清楚如何使用 SoftLayer 进行身份验证。