我正在讨论在 Mongo GridFS 或云文件系统中存储图像。由于一些原因,我倾向于云。所使用的语言是 Nginx 服务器上的 PHP。
在 GridFS 中存储图像会增加数据库的大小。因此,更多的数据库必须在内存中,当涉及到分片之类的事情时,我将花费更多的时间/金钱来管理服务器。
从 GridFS 检索图像比云需要更长的时间,因为我必须 a) 使用 id 查询图像 b) 将图像读入内存 c) 使用 php 标头显示图像
云会更好,因为它是直接到云的图像 url。
这些理由听起来合理吗,还是我的想法应该朝着不同的方向发展?
我收到以下错误:
回收(等待角色开始...正在部署网站.[2012-12-17T05:30:10Z])
运行一个或多个角色实例是不健康的.1个例子:1个不健康
我实际上是在尝试将我的Web应用程序转换为云应用程序.
这是我做的:
我在我的解决方案中添加了一个云项目,我添加了一个链接到我的web应用程序的webrole我创建了一个sql azure数据库并复制了我的整个结构以及数据到db我在webconfig中插入连接字符串并尝试运行它在仿真上,这很好用然后尝试通过创建云服务来部署它,运行构建器来创建包并以"暂存"模式上传包.这是我得到错误的地方.
我试图创建一个空的云应用程序并添加一个默认的webrole并将其加载到云,这工作正常.所以我想,也许我的webrole设置有问题.我检查了两者之间的区别,我注意到在两个解决方案中都启用了诊断,但是在我自己的解决方案中存储帐户是空的,所以我在这里插入了"UseDevelopmentStorage = true".这并没有改变任何事情.我也看到了"packages.config"的不同之处
默认角色有:
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net40" />
<package id="System.Web.Providers" version="1.1" targetFramework="net40" />
<package id="System.Web.Providers.Core" version="1.0" targetFramework="net40" />
<package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net40" />
Run Code Online (Sandbox Code Playgroud)
我有:
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net35" />
<package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net35" />
Run Code Online (Sandbox Code Playgroud)
我尝试改变这个和上传,没有做任何事情
我没有使用辅助角色,我只有一个正在运行的实例(默认情况下相同)
我的应用程序在global.asax中使用一些身份验证,它尝试从User.Identity.Name读取并与数据库中的用户进行比较(此用户插入到sql azure db中).起初我认为这可能是问题的原因,但即使我注释掉这段代码,应用程序也不会在云上运行.
VM大小很小,信任级别=完全信任
我还看到了我有远程访问参数的设置的一些差异.我尝试删除所有这些只是为了排除问题
我读了一些关于"复制本地是真的"的设置引用,但我不确定这是否会有任何区别.
任何想法,因为我真的不知道该怎么做
编辑:
我修改了所有对"copy local is true"的引用,并且我禁用了诊断,以确保它没有任何问题.
但现在我得到错误:
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
有趣的是,在我的webconfig中已经设置了......我只能找到1个webconfig.我不太确定我做错了什么
我目前正在学习云计算的基础知识,在我的脚本中提到了两个框架。OpenNebula 和 Eucalyptus。我已经阅读了有关每个框架的几句话,但不知何故我无法完全理解这两个框架之间的区别。所以:
任何人都可以简要解释 OpenNebula 和 Eucalyptus 之间的区别,并描述使用这些框架的位置和原因吗?
我需要谷歌云的帮助,我正在使用谷歌云做一个应用程序.在谷歌云我有1个窗口和谷歌云sdk实例.我需要一个命令来返回该实例的区域名称.注意 - 我不需要区域列表.我只需要运行我的实例的区域名称.先感谢您.
我在CloudFormation模板上使用自定义Ubuntu AMI,我收到一个错误CREATE_FAILED AWS::AutoScaling::AutoScalingGroup WebServerGroup Received 0 SUCCESS signal(s) out of 1. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement.我检查创建的EC2实例上的日志文件,/var/log/cfn-init.log并Could not enable service cfn-hup在日志文件中看到.以下是我的模板的一部分:
"WebServerGroup": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
"AvailabilityZones": {
"Ref": "AZs"
},
"VPCZoneIdentifier": {
"Ref": "Subnets"
},
"LaunchConfigurationName": {
"Ref": "LaunchConfig"
},
"MinSize": "1",
"MaxSize": "10",
"DesiredCapacity": {
"Ref": "InstanceCount"
},
"TargetGroupARNs" : [{"Ref": "TargetGroup"}],
"Tags": [{
"Key": "opsworks_stack_id",
"Value": {
"Ref": "OpsWorksStackId"
},
"PropagateAtLaunch": "true"
}]
},
"CreationPolicy": {
"ResourceSignal": {
"Timeout": "PT15M" …Run Code Online (Sandbox Code Playgroud) cloud ubuntu amazon-ec2 amazon-web-services aws-cloudformation
我阅读了有关用户提供服务的 Cloud Foundry 文档,但不确定我是否得到了它以及如何真正使用它。
> 1. my question is what is the use case for it?
Run Code Online (Sandbox Code Playgroud)
(我知道该服务在市场上不可用......)
> 2.when it recommended to use it and when not ?
>
> 3. There is some real world example for it which I can use to create, I mean some E2E guide ?
Run Code Online (Sandbox Code Playgroud) 在基于容器的部署方面,Bitnami和Docker有何不同。
我最近一直在学习微服务。我使用Docker映像将我的应用程序作为容器运行。而且,我注意到,Bitnami从启动板在云上创建虚拟映像时会执行类似的操作。
从我在Internet上看到的任何链接,我都无法想象Docker和Bitnami这两者之间的区别。
我正在尝试在 Java Web 应用程序中实现文件上传。当用户通过 UI 上传文件时,我希望它存储在 amazon amazon s3 存储中。
这是我的后端代码:
@PostMapping("/upload-file")
public String saveFile(@RequestParam("name") String name, @RequestParam("file")MultipartFile file, RedirectAttributes redirectAttributes){
AWSCredentials credentials = new BasicAWSCredentials("user", "psw");
AmazonS3 s3Client = new AmazonS3Client(credentials);
String bucketName = "kfib";
s3Client.createBucket(bucketName);
s3Client.setRegion(com.amazonaws.regions.Region.getRegion(Regions.EU_WEST_1));
ObjectMetadata md = new ObjectMetadata();
md.setContentType("application/pdf");
Run Code Online (Sandbox Code Playgroud)
// md.set
try{
InputStream inputStream = file.getInputStream();
s3Client.putObject(new PutObjectRequest(bucketName, name, inputStream, md).withCannedAcl(CannedAccessControlList.PublicRead));
S3Object s3Object = s3Client.getObject(new GetObjectRequest(bucketName, name));
log.info("Url of the image:\n");
log.info(s3Object.getObjectContent().getHttpRequest().getURI().toString());
}catch(IOException e){
e.printStackTrace();
}
log.info("upload called with post method...");
return "redirect:/admin/posts";
}
Run Code Online (Sandbox Code Playgroud)
如果我将它们上传到默认区域,我可以上传到文件。但是,我希望将我的文件存储在另一台服务器上。我在欧盟地区有一个存储桶,如果我尝试使用上述代码在那里上传内容,则会收到以下错误代码: …
我是rails的新手,我目前正在使用Cloud9中的rails教程.
我做了一个简单的端点来测试我Hello World在默认情况下的可爱ApplicationController.这是我的控制器:
ApplicationController的
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
def hello
render html: "hello, world"
end
end
Run Code Online (Sandbox Code Playgroud)
但是当我在Heroku中部署项目时,它会返回 method not allowed.
任何想法我做错了什么?这是我拥有的其他重要文件
的Gemfile
source 'https://rubygems.org'
gem 'rails', '5.1.2'
gem 'puma', '3.9.1'
gem 'sass-rails', '5.0.6'
gem 'uglifier', '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks', '5.0.1'
gem 'jbuilder', '2.7.0'
group :development, :test do
gem 'sqlite3', '1.3.13'
gem 'byebug', '9.0.6', platform: :mri
end
group :development do
gem 'web-console', '3.5.1'
gem 'listen', '3.0.8'
gem 'spring', …Run Code Online (Sandbox Code Playgroud) 我需要使用动态键更新嵌套对象中的字段。路径可能如下所示: level1.level2.DYNAMIC_KEY : updatedValue update-method 删除 level1 上的所有其他内容,而不是仅更新嵌套对象中的字段。update() 的作用更像是 set()。我究竟做错了什么?
我已经尝试了以下方法:
我阅读了文档https://firebase.google.com/docs/firestore/manage-data/add-data#update-data 但这样它是 a) 静态和 b) 仍然删除其他字段。
更新嵌套对象中的字段 如果您的文档包含嵌套对象,您可以在调用 update() 时使用“点表示法”来引用文档中的嵌套字段
这将是静态的并导致
update({
'level1.level2.STATIC_KEY' : 'updatedValue'
});
Run Code Online (Sandbox Code Playgroud)
然后我找到了这个答案/sf/answers/3310730671/ ,它帮助我使更新路径动态化。在此之后所需的解决方案可能看起来像
field[`level1.level2.${DYNAMIC_KEY}`] = updateValue;
update(field);
Run Code Online (Sandbox Code Playgroud)
但仍然:它会删除此路径中的其他字段。
更新:
所以在这个结构中我只想更新 complexArray > 0 > innerObject > age
将上述路径写入 update() 方法将删除 complexArray 级别上的所有其他内容。对一级字段的简单更新工作正常,并让其他一级字段保持不变。
是否有可能像 update() 这样的 Firestore 函数只能作用于文档的最低字段级别。一旦我将复杂的对象放入文档中,就不可能选择这样的内部字段?我知道会有解决方案将这些“复杂”对象提取到单独的集合 + 文档中,并将它们放入我当前的最低文档级别。我认为这将是坚持 FireStore 原则的更准确方法。但是在应用程序方面,处理复杂对象比总是深入研究 firestore 集合 + 文档结构更容易。
所以我当前的解决方案是将整个复杂对象发送到 update() 方法中,即使我只更改了应用程序端的一个字段。
cloud ×10
amazon-ec2 ×1
amazon-s3 ×1
azure ×1
bitnami ×1
deployment ×1
docker ×1
eucalyptus ×1
firebase ×1
gcloud ×1
gridfs ×1
heroku ×1
mongodb ×1
opennebula ×1
php ×1
ruby ×1
spring ×1
ubuntu ×1
zone ×1