小编Bad*_*ake的帖子

需要什么"理想的实例"?AWS Amazon Webservices AutoScaling组

我在亚马逊AWS上遇到了一个奇怪的情况.我不明白所需的实例编号用于什么?我有一个自动缩放组,其中包含已配置的向上扩展和向下扩展操作.

我有一个自定义PHP文件运行操作根据一些外部因素向上扩展缩小.我想知道我必须在所需的实例中编写哪个数字,以免影响我的自动缩放操作.

例如:

  1. 我把期望值设为2
  2. 我有2个实例在运行
  3. 我运行Scale Down动作
  4. 实例是1
  5. 自动调节组将自动启动另一个实例,因此我的缩小比例没有用,因为我结束了2运行

我能做什么?

非常感谢!

amazon-ec2 amazon-web-services autoscaling

19
推荐指数
3
解决办法
1万
查看次数

rc0.d和rc6.d脚本未在Amazon EC2中运行(它会卷曲连接)

我已经在Amazon WebServices中触发了EC2实例。我也已经在/etc/init.d文件夹中创建了一个服务,它叫做shutdownSocketServer,我希望它在关闭和重启时被调用。

我已经将它添加到chkconfig -add中,并且我检查了它的定义

sudo chkconfig --list | grep shutdownSocketServer
shutdownSocketServer    0:on    1:off   2:off   3:off   4:off   5:off   6:on
The script is :

#/bin/bash                                                                      
# chkconfig: 06 001 001
# description: Foo server

. /etc/init.d/functions
sudo touch /var/lock/subsys/shutdownSocketServer

start(){
    EC2_INSTANCE_ID="`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id || die \"wget instance-id has failed: $?\"`"

    echo "$EC2_INSTANCE_ID"

    curl "http://mywebservice.com/Server/functions/SocketUpdater.php?   estado=shutdown&instance_id=$EC2_INSTANCE_ID"

 }
stop(){
    echo "stopping"
}

### main logic ###
case "$1" in
    start)
        start
    ;;
    stop)
       stop
    ;;
  status)
    status
  ;;
  restart|reload|condrestart)
stop
start
;; …
Run Code Online (Sandbox Code Playgroud)

bash shutdown rc amazon-ec2

5
推荐指数
0
解决办法
560
查看次数

OpenId Connect问题 - 授权代码流程(OAuth 2.0)

我正面临着OpenId Connect的自定义实现.但是(总有一个但是)我有些疑惑:

我理解获取access_token和id_token的过程,除了OP向客户端提供authorization_code的步骤.如果是通过重定向完成的(使用重定向uri)

HTTP/1.1 302 Found
Location: https://client.example.org/cb?
code=SplxlOBeZQQYbYS6WxSbIA
&state=af0ifjsldkj
Run Code Online (Sandbox Code Playgroud)
  • 最终用户能够看到授权码吗?它不会过期?想象一下,我们抓住了它,我们稍后使用(几天后)它是一个安全漏洞吗?状态是否应该在令牌端点中过期?

流程继续,我们得到了客户端Access_tokenid_token客户端.

  • 如何在Access_tokenOP方面使用?它应该存储在数据库中?或者自我包含验证它所需的信息?你会推荐什么?
  • 在客户端,两个令牌都应该在每个请求中发送?

最后一个疑问,如果我们Access_token存在一个id_token是用于在分离的令牌中表示授权和身份验证?

额外的疑惑: 我知道获取访问令牌的过程,但我怀疑OP如何生成和发送,它验证每个请求附带的access_token

  • OP如何知道访问令牌是有效的?据我所知,OP应该说access_token有效/无效.应该有一些方法来检查它吗?如果令牌没有存储在DB中,它如何知道令牌代表有效的经过身份验证的用户?
  • 将access_token存储在cookie中是一个坏主意吗?因为有时我们会调用一些web服务,并且我们希望将access_token作为参数发送.还是有另一种解决方法?
  • 访问令牌应该如何存储在客户端中,例如,在ASP.NET中,在会话中?

非常感谢你们所有人,一旦你给我解释,我就会放弃投票并标记答案.谢谢!

openid oauth oauth-2.0 google-oauth openid-connect

4
推荐指数
1
解决办法
2329
查看次数

Open Id Connect Doubts - Identity Server 4 // 如何将特定用户授予具体范围?

阅读 Open Id 文档后,我有一些疑问。任何帮助都感激不尽。

遵循任何oidc 流程,您都会获得一个 id_token 和一个 access_token。

a) 当您将 access_token 发送到受保护的 api 时,为什么或何时(示例)需要检索有关拥有它的用户的一些声明?也许受保护的 api 想要使用有关经过身份验证的用户的一些数据?

b) 为了获得声明,受保护的 api 需要与 UserEdnpoint 端点通信?它发送access_token?哪些声明包含在返回的 id_token 中?/ 如果它要求更多声明用户具有同意访问权限,会发生什么?

c) 身份服务器 4:您定义要保护的资源。它们可以是“身份资源”和“api 资源”。在定义 ApiResources 时,您可以在细粒度范围内定义。例如:

  Scopes =
        {
            new Scope()
            {
                Name = "weather.api.full_access",
                DisplayName = "Full access to WEATHER API",
            },
            new Scope
            {
                Name = "weather.api.read_only",
                DisplayName = "Read only access to WEATHER API"
            }
        }
Run Code Online (Sandbox Code Playgroud)

您还定义了客户端,以及他们有权访问的范围。您如何指定哪些用户可以访问特定资源?我不知道您将如何映射使用同一客户端的用户的特定权限。

步骤将是:

  1. 授予客户端对两个范围的访问权限:"weather.api.full_access","weather.api.read_only"
  2. 现在......我如何授予,例如“比利”拥有“weather.api.full_access”和“Jhon”拥有“weather.api.read_only”?他们使用的是同一个客户端。

非常感谢!!

openid oauth-2.0 openid-connect identityserver4

4
推荐指数
1
解决办法
2927
查看次数

MongodbCursor ,如何遍历巨大的集合?

我有一个 MongoDb 数据库,里面有一个非常庞大的集合(超过 200 万个文档)。我想用游标迭代它。同样在迭代期间,我必须对当前文档执行一些操作。

var pending_push_cursor = collection.FindAllAs<PendingPush>();
foreach (PendingPush p_push in pending_push_cursor)
{
    operation_with(p_push)
}
Run Code Online (Sandbox Code Playgroud)

主要问题是操作将元素排入队列,并且希望在某些时刻迭代暂停(几秒钟),让操作在添加新元素之前处理一些元素。

有没有办法以某种方式迭代光标,我可以暂停它,然后再恢复?MongodbCursor 保存最后访问的项目?我只知道 foreach 迭代,但是有这样的迭代吗?

while(pending_push_cursor.isLast()){
    PendingPush p_push= pending_push_cursor.getNext()
    operation_with(p_push)
 }
Run Code Online (Sandbox Code Playgroud)

如果存在类似的东西,我可以保存查询的最后一个项目。提前致谢

.net c# mongodb mongodb-query mongodb-.net-driver

3
推荐指数
1
解决办法
2769
查看次数

AutoMapper:如何在 Linq 表达式之间进行映射 (Func&lt;&gt;)

我正在使用存储库模式,因此我的存储库只知道 DTO。它必须使用实体框架通过一些过滤器查询数据库。我的问题是实体框架只知道数据库模型类,因此我必须“自动映射”表达式才能在任何查询中使用它们。

我已经声明了一个接受表达式作为过滤器的方法。

public interface IRepository
{
    IEnumerable<ItemDTO> GetItemsWithFilter(Expression<Func<ItemDTO, bool>> filter)
    {
        var filterDb = Mapper.Map<Expression<Func<ItemDB, bool>>>(filter);
        return dbContext.CONFIGURATIONS.Where(filterDb).Select(x => Mapper.Map<ItemDTO>(x));
    }
}

public class ItemDTO
{
   public int numero { get; set; }
   public string name { get; set; }
} 

public class ItemDB //they are both the same, just for testing purpose
{
   public int numero { get; set; }
   public string name { get; set; }
}

//failing code 
 Repository.GetItemsWithFilter(x => x.name=="a");
Run Code Online (Sandbox Code Playgroud)

我按照 …

expression entity-framework automapper

1
推荐指数
1
解决办法
1402
查看次数

.NET Core API 返回列表和列表计数

我正在尝试使用 OK 函数通过 .NET Core 2.1 API 将复杂对象作为 JSON 返回。

复杂对象由一组匿名对象和整个未过滤数据集的计数组成。

我正在使用一个需要这种格式的 JSON 的 JavaScript 库:

{ 
  data: dataFiltered,
  count: dataUnfiltered.length
}
Run Code Online (Sandbox Code Playgroud)

C# 过滤匿名对象如下所示:

var unfiltedDataCount = product.Where(p => p.CategoryId == categoryId).Count();
var autoCompleteData = products.Select(p => new { name = p.Name, productId = p.ProductId, categoryId = p.CategoryId}).ToList();
Run Code Online (Sandbox Code Playgroud)

这有效:本机行为

return Ok(autoCompleteData);
Run Code Online (Sandbox Code Playgroud)

这不起作用:Visual Studio 报告错误(当前上下文中不存在名称“data”和“count”。)

return ok( new { data: autoCompleteData, count: unfiltedDataCount});
Run Code Online (Sandbox Code Playgroud)

c# anonymous-types asp.net-core asp.net-core-webapi

0
推荐指数
1
解决办法
3585
查看次数