我正在研究和阅读很多关于某个特定主题的文章,但无法在任何地方找到相关答案.
但是我在Laravel做一些有趣/私人的项目,我想使用Amazon S3存储.我已经完成了所有设置,并且它正常工作,我可以使用Laravel Filesystem从我的应用程序上传图像到S3,但我想要做的是使用CloudFront(我已经设置并运行了,云端是正确提供文件)用于提供图像和文件.
现在我的问题是:如何将AWS CloudFront"urls"集成到Laravel中?我的意思是如何在Laravel应用程序中存储CloudFront URL?如何检索文件网址(即图像),以便我可以在我的应用程序中显示它.我是否只将文件路径存储在数据库中并使用"某种特定方式"来提供完整的URL,还是将完整的AWS CloudFront URL保存在数据库中?
这怎么样?对不起,如果问题是愚蠢的,但我只是潜入Laravel,我在那里很新.
不确定我的问题是否足够解释,但我会尽力在这里解释。我目前正在探索和尝试微服务架构,以了解它是如何工作的并了解更多信息。我主要了解事情是如何工作的,API网关在这个架构中的作用是什么,等等......
所以我还有一个理论问题。例如,假设有 2 个服务,即。事件(管理可能的事件)和服务票证,管理与特定事件相关的票证(可能有很多票证)。因此,这两个服务确实相互依赖,但它们有一个独立的数据库,完全隔离且松散耦合,就像在“理想”微服务环境中一样。
现在想象一下,我想要获取活动以及与该活动相关的所有门票,并将其显示在移动应用程序或 Web 水疗应用程序或其他应用程序中。在这种情况下,调用多个服务/URL 来获取数据并输出到 UI 完全可以吗?或者是否有更好的方法来获取和聚合这些数据。
根据我阅读的不同来源,从另一服务调用一项服务会增加延迟,使服务相互依赖,一项服务的未来更改将破坏另一项服务,等等,所以这根本不是一个好主意。
如果我重复一个问题并且它已经在某个地方被问过(尽管我找不到它),我很抱歉,但我需要之前遇到这个问题的人提供意见,并且可以以更好的方式解释这里的流程。
我正试图在Django中获得一些东西,已经好几个小时但没有成功.然而,我正在尝试使用友好的网址,例如'my-post-title-1234',其中最后的数字是帖子的ID,其余的则是帖子的标题.我通过使用slug和id得到了url,我可以在视图中检索它们.所以我检查ID是否存在,如果它存在,我做其余的,如果它不存在,我做404 DoesNotExist.在模型中我生成了slug field和slugified title.
到目前为止,一切都有效,除了一件事:用户能够编写bla-bla-bla-1234并且仍然会向他显示相同的数据(因为id存在).我想要的是:
如果用户输入'bla-bla-bla-1234',我想将他重定向到正确的slug'my-post-title-1234'.
这是我的网址的样子:
url(r'^(?P<slug>[-\w\d]+)-(?P<post_id>\d+)/$', views.post, name='post')
Run Code Online (Sandbox Code Playgroud)
这是我的模特:
class Post(models.Model):
post_title = models.CharField(max_length = 125)
text = models.TextField()
slug = models.SlugField(null = False, blank = True)
def __str__(self):
return self.post_title
def save(self, *args, **kwargs):
self.slug = slugify(self.post_title)
super(Post, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
这是我的看法:
def post(request, slug, post_id):
try:
post = Post.objects.get(id = post_id)
except Post.DoesNotExist:
raise Http404("Post does not exist")
return HttpResponse(post_id)
Run Code Online (Sandbox Code Playgroud)
所以问题是:如果用户在id仍然良好时键入错误,我如何将'bla-bla-bla-1234'重定向(更改网址)到正确的slug到'my-post-title-1234'.
非常感谢.
我正在从头开始学习 DDD 主题,在许多 DDD 示例中我看到“存储库接口”位于域中。该存储库的真正目的实际上是什么/它到底做什么或解决什么问题?这与持久层实现相对应或有某种联系吗?
谢谢。