小编scu*_*bbo的帖子

如何在 IAM Identity Center 登录后创建 AWS 控制台深层链接?

通过 IAM Identity Center 管理对多个账户的访问时,AWS 访问门户为这些账户中的每个可用角色/权限集提供可单击的链接。但是,控制台始终加载到主页。有没有办法构建一个“深层链接”URL,以便单击它的(授权)用户将:

  • 通过身份中心(/SSO)登录
  • 被重定向到控制台内的所需位置

我知道可以为给定的 PermissionSet设置中继状态,但这还不够,因为我可能希望给定的用户从不同的链接重定向到不同的位置 - 也就是说,我希望在单击的内容中对目的地进行编码URL,不在 PermissionSet 的元数据中。为每个可能的目的地创建不同的 PermissionSet 是不切实际的。

这个博客似乎准确地描述了我想要实现的目标,但它对我不起作用 - 按照说明,我:

  • 构造了一个字符串RPID=(url-encoded string of urn:amazon:webservices)&RelayState=(url-encoded destination url)
  • 对该字符串进行 URL 编码
  • 将该字符串(在 后面?RelayState=)附加到我的 Access Portal 提供的一键登录

然而,生成的 URL 只是让我登录并将我置于主页上,而没有任何重定向。

遗憾的是,该文章的所有链接似乎都已损坏。我还找到了这个页面,并尝试使用它来生成深层链接 - 再次,不走运,我刚刚登录到主页。

我确实注意到我的登录网址与示例不同 - 它们看起来像https://<domain>/adfs/ls/idpinitiatedsignon.aspx,而我的登录网址看起来像https://<internal-string>.awsapps.com/start/#/saml/custom/AAA/BBB,其中:

  • AAA是 url 编码的字符串account-number (account-nickname)
  • BBB是一些引用主AWS帐户的base64编码数据的url编码,后跟两个我无法放置的(下划线分隔的)标识符 - 一个是 form ins-[alphanumerics],另一个是 formp-[alphanumerics]

这是否意味着我的 ADFS 的配置与此功能预期的不同?还有办法实现我想要的吗?

编辑:我的网络管理员通知我,我们在内部使用 Azure AD,而不是 ADFS,这可能是 URL 格式不同的原因。

amazon-web-services amazon-iam aws-sso aws-iam-identity-center

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

Python中的元编程 - 添加对象方法

我有Python背景(虽然完全是自学成才,所以我可能有一些不良习惯或误解),而我正在努力学习Ruby以扩大我的范围.

我正在阅读一些比较,并看到许多断言"Python不能进行元编程"(或者,更少的是,"Python不能像Meta一样简单地进行元编程").所以我离开后迅速阅读了关于元编程的内容,并且给人的印象是,它基本上是在运行时编辑类/对象的方法/行为(如果我不正确,请纠正我!).

我的印象是,由于Python是动态的,这应该不是问题.但是,我运行了以下测试代码,它没有给出我预期的响应:

>>> class foo:
...     def make_hello_method(self):
...             def hello(obj):
...                     print 'hello'
...             self.hello = hello
...
>>> f = foo()
>>> f.hello()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: foo instance has no attribute 'hello'
>>> f.make_hello_method()
>>> f.hello()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: hello() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)

我的印象是,对象的每个方法都自动将对象本身作为第一个参数传递(因此将对象方法定义为常量要求(self, [...])).怎么f没有被传递给hello()

python metaprogramming

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

为什么列表操作不返回结果列表?

我对导致这种情况的思维过程感兴趣.对我来说,一个相对新手,似乎阻碍了,因为它阻止了列表处理的"链接"(例如mylist.reverse().append('a string')[:someLimit]).我想可能是"那些人的力量"决定列表理解是一个更好的范例(一个有效的观点),所以不想鼓励其他方法 - 但是这似乎有悖常理,以防止一种直观的方法,即使更好存在替代品.

请注意,我不是在抱怨(我敢肯定有一个合理的理由,我在它是什么只是感兴趣!),也不是寻找一个解决方案(意见在这里非常具有启发性) -只是寻找一些情况下,并深入理解语言的设计过程.

python

5
推荐指数
2
解决办法
320
查看次数

依赖关系未复制到jar中(在Gradle中)

TL; DR我希望将模块的依赖关系构建到其.jar中,但它们似乎不是.

我正在使用Gradle来构建一个项目.我有两个子项目,app(一个Android模块)和tests(一个Java模块),由IntelliJ创建.

由于我想使用app内容中定义的类tests,我添加了适当的依赖项.受到这个答案的启发,我有以下设置:

应用程序/的build.gradle:

...
task jarTask(type: Jar) {
    baseName ="${project.archivesBaseName}"
    from android.sourceSets.main.java
}

configurations {
    jarConfiguration
}

artifacts {
    jarConfiguration jarTask
}
Run Code Online (Sandbox Code Playgroud)

测试/的build.gradle

...
dependencies {
    ...
    testCompile project(path: ':app', configuration: 'jarConfiguration')
}
Run Code Online (Sandbox Code Playgroud)

但是,app进口中的一个类org.json.JSONObject.由于这是由Android SDK提供的,app可以很好地找到 - 但是当我尝试运行测试时,我得到(in :tests:compileTestJava)"package org.json不存在".但是,如果我更新tests/build.gradle

...
dependencies {
    ...
    testCompile project(path: ':app', configuration: 'jarConfiguration')
    testCompile 'org.json:json:20090211'
}
Run Code Online (Sandbox Code Playgroud)

(见这里)然后测试正确运行.

这不是我所期望的 - 如果.jar没有打包它的依赖项,那么依赖于.jar的任何项目也必须明确地依赖于传递依赖 - 这不会导致依赖关系定义快速增加吗?

java android gradle android-gradle-plugin

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

可以/建议在AWS CodeBuild中使用“ sam build”吗?

这个问题的纺出这一个。现在,我对那里的问题有了更好的了解,并且是一个可行的(如果不完美的话)解决方案,我正在提交一个更集中的后续措施(我仍然是StackOverflow的新手,请告诉我是否这违反了礼节,我应该对原文进行跟进)。

该页面建议“ 您使用AWS CodeBuild来构建,本地测试和打包无服务器应用程序 ”。但是,当我在中包含sam build命令时buildspec.yml,我得到以下日志输出,提示sam未在CodeBuild映像上安装:

[Container] 2018/12/31 11:41:49 Running command sam build --use-container 
sh: 1: sam: not found 

[Container] 2018/12/31 11:41:49 Command did not exit successfully sam build --use-container exit status 127 
[Container] 2018/12/31 11:41:49 Phase complete: BUILD Success: false 
[Container] 2018/12/31 11:41:49 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: sam build --use-container. Reason: exit status 127 
Run Code Online (Sandbox Code Playgroud)

此外,如果我使用来安装SAM pip install aws-sam-cli,则sam build --use-container …

amazon-web-services aws-codebuild aws-serverless

5
推荐指数
2
解决办法
2226
查看次数

空指针异常Java

我刚刚开始学习Java,并遇到了一个问题.尝试运行Android应用程序时,调用方法makeResponse时会出现NullPointerException.

代码提取(本帖末尾附有完整代码):

private String makeResponse(String input){
    //This doesn't work yet.  I keep getting null pointer exceptions on the line beginning "int id" line, but can't tell why.
    String response = "You picked "+input;
    if (sw==null){
        response+=" and sw is null"; //This doesn't activate
    }
    if (input==null){
        response+=" and input is null"; //This doesn't activate
    }
    int id = sw.getIdFromName(input); //If this line (and the following one) are commented out, the method runs with no problem, but neither of the if …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception

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

从 Linux shell 与 .db 文件交互

我最近在我的 Raspberry Pi 上安装了 minidlna,一个轻量级的 UPnP 服务器。由于它缺少其他程序(例如 Mediatomb)的 Web 界面,因此我认为编写一个对我来说可能是一个有趣的项目。

我相信 minidlna 将库信息存储在名为“files.db”的单个文件中。


编辑:我被建议检查输出file files.db- 这如下:

files.db: SQLite 3.x database, user version 8


但是,我找不到可以让我与 shell 中的 .db 文件进行交互的程序。我看过以下推荐的程序:

  • 数据库
  • 数据库访问
  • sql
  • SQLite3
  • 数据库工具

在前四种情况下,sudo apt-get install找不到程序。

sudo apt-get install db.util 似乎安装,但在安装过程中,产生以下消息:

Processing triggers for man-db ...
Setting up gcj-4.7-base (4.7.1-1) ...
Setting up libgcj-common (1:4.6.3-7) ...
Setting up libgcj13 (4.7.1-1) ...
Setting up libgcj13-awt (4.7.1-1) ...
Setting up gcj-4.7-jre-headless (4.7.1-1) ...
Illegal instruction
ERROR: gcj-dbtool did …
Run Code Online (Sandbox Code Playgroud)

database linux shell raspberry-pi

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

Java“重复的局部变量” - 是在 Java 还是 Eclipse 中抛出的错误?

在以下代码中:

private static void example() {
    String inputString = "test";
    switch (inputString) {
        case "test":
            String outputString = "The string said test";
        case "not test":
            String outputString = "The string did not say test";
    }
    /*Do stuff with ouputString*/        
}
Run Code Online (Sandbox Code Playgroud)

Eclipse 突出显示Case "not test"错误后的行Duplicate local variable outputString。但是,由于它们位于switch语句的不同分支中,因此它们实际上并不冲突,因为一次只能有一个有效。

显然,在这种情况下,我可以通过将outputString声明移到switch语句之外来解决这个问题。但是,在更复杂的程序中,解决方案可能并不那么简单。

这仅仅是 Eclipse 为防止糟糕的编程技术而抛出的错误,还是实际的 Java 错误?

我对 Java 很陌生,所以如果这是一个新手问题,我很抱歉 - 我有一个关于“重复局部变量 Java”的谷歌,但到目前为止,所有出现的都是人们寻求帮助来解决问题(通常的解决方案是重命名其中一个变量),而不是讨论问题本身。

java eclipse

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

抑制特定的 Spark 日志记录消息

TL;DR 是否可以在不破坏所有日志记录的情况下抑制单个 Spark 日志记录消息?

我正在 EMR 上运行 Spark Streaming 作业,并获取如下日志消息:

17/08/17 21:09:00 INFO TaskSetManager: Finished task 101.0 in stage 5259.0 (TID 315581) in 17 ms on ip-172-31-37-216.ec2.internal (107/120) 17/08/17 21:09:00 INFO MapPartitionsRDD: Removing RDD 31559 from persistence list 17/08/17 21:09:00 INFO DAGScheduler: Job 2629 finished: foreachPartition at StreamingSparkJob.scala:52, took 0.080085 s 17/08/17 21:09:00 INFO DAGScheduler: ResultStage 5259 (foreachPartition at StreamingSparkJob.scala:52) finished in 0.077 s 17/08/17 21:09:00 INFO JobScheduler: Total delay: 0.178 s for time 1503004140000 ms (execution: 0.084 …

logging log4j apache-spark

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

如何将“false”值传递给Helm“default”?

我在 Helm 图表(例如)中经常看到的一种模式是将布尔值设置为默认true,除非提供了一些覆盖值:

feature_enabled_in_k8s_resource: {{ default true .Values.foo_feature_enabled }}
Run Code Online (Sandbox Code Playgroud)

也就是说 - “如果foo_feature_enabled设置为 Helm 输入中的任何值(通过--setvalues.yaml等),则设置feature_enabled_in_k8s_resource为该值 - else(如果未设置),则设置feature_enabled_in_k8s_resourcetrue

但是,我无法按照预期覆盖该值 -false在 中设置值values.yaml和/或--set foo_feature_enabled=false作为参数传递,仍然会导致模板保存值为true

我怀疑这是因为这false是一个“虚假”值,因此default将其解析为“需要替换”。

传递一个字符串值("false"in values.yaml、 或--set-string foo_feature_enabled=false)确实出现(从helm template [...]输出中)设置为feature_enabled_in_k8s_resource-"false"但不清楚 Kubernetes 产生的实际应用程序是否会正确解释它(也就是说 - 它可能会解释一个非空字符串作为“真实”,让我们回到原来的默认行为)。即使这有效,它在某种程度上感觉很糟糕,表明我错过了“正确的”解决方案。

(据推测,实际的解决方案是 Helm …

kubernetes-helm

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

如何迭代 Python SDK for Microsoft Graph 中的分页结果?

我正在掌握Python SDK,之前从未使用过 GraphQL (但我熟悉基本概念)。我能够odata_next_link从响应中检索值,但我不确定如何使用它。我从这里注意到:

您应该在下一页结果的请求中的 @odata.nextLink 属性中包含整个 URL。根据执行查询的 API,@odata.nextLink URL 值将包含 $skiptoken 或 $skip 查询参数。URL 还包含原始请求中存在的所有其他查询参数。不要尝试提取 $skiptoken 或 $skip 值并将其用于不同的请求。

但是,我不确定如何在下一个请求中包含该 URL。目前,我的查询看起来像response = await graph_client.groups.by_group_id(group_id).transitive_members.get()- 我没有看到更改基本网址的选项。我想我可以做这样的事情:

query_params = GroupsRequestBuilder.GroupsRequestBuilderGetQueryParameters(
  skip_token = parse_qs(urlparse(response.odata_next_link).query)['$skipToken'][0]
)
request_configuration = GroupsRequestBuilder.GroupsRequestBuilderGetRequestConfiguration(
  query_parameters=query_params
)
response = await graph_client.[...].get(request_configuration)
Run Code Online (Sandbox Code Playgroud)

但该报告GroupsRequestBuilder.GroupsRequestBuilderGetQueryParameters.__init__() got an unexpected keyword argument 'skip_token'(如果我尝试命名参数skiptoken或,则类似skipToken

令人沮丧的是,这里没有代码示例- 但是,基于这些示例,我确实在存储库中搜索了迭代器 -但没有结果

python microsoft-graph-sdks microsoft-graph-api

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

使用Java创建新的本地数据库

我的目标是创建一个可以使用Java读取和写入的本地数据库.我有一些使用Python操作本地sqlite数据库的经验,并通过VB.Net与Microsoft Azure上的现有网络数据库进行交互,但是用于创建数据库的Java公式正在逃避我.

大多数源(如JDBC Docs)似乎假设您通过网络协议或localhost上托管的数据库访问数据库.我期望的实现是在文件(或文件集合)中创建和存储数据库,以便可以在本地存储和访问它,而无需网络连接(可通过"文件:"协议).

JDBC教程看起来像一次我运行起来将是非常有用的,但目前是超出了我的范围,因为我甚至不具有现有的数据库呢.

许多 消息来源提出了H2,MySQL,Derby或Hypersonic DB等解决方案.但是,由于以下原因,我不愿意安装扩展程序(如果这是正确的术语):

  • 这个项目最初的目的是帮助我学习Java的方法 - 扩大项目的范围将削弱我使用"基础"语言的经验,并可能增加参与"货物崇拜编程"的诱惑
  • 如果这个项目确实被分发给其他用户(虽然不太可能,但仍然!),我不想强​​迫他们安装超过Java的核心.
  • 我根本不知道如何在Java中安装扩展(附加组件?模块?) - 一次一个小步骤!

出于类似的原因,安装Microsoft SQL Server效率不高.

这个答案看起来很接近我的目标; 但是,它给出了错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/?user=root&password=rootpassword
Run Code Online (Sandbox Code Playgroud)

并尝试"jdbc:file://targetFile.sql"给出类似的错误.

我已经看到术语"嵌入式"数据库,我认为这是"本地数据库"的一个子集(即本地数据库存储在同一系统中 - 嵌入式数据库是仅由单个应用程序使用的本地数据库) - 如果我的定义有误,请随时纠正我!

java sql database local embedded-database

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