我有一个非常简单的EditText,如下所示:
<EditText
android:id="@+id/myedit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:maxLength="32"/>
Run Code Online (Sandbox Code Playgroud)
在某些验证代码中,我使用Android EditText.setError()来显示任何验证错误.这在OS 2.x中工作正常,但在OS 3.x设备(Xoom)上没有 - 在Xoom上,您可以看到错误弹出的大纲,但是您看不到错误文本.
我猜测文本在那里,但它是看不见的.如何让它可见?我没有看到android:textColor与错误文本有关的内容.
此外,如果文本确实是不可见的,那么为什么2.x与3.x的行为不同的任何想法 - 似乎这会导致向后兼容性问题.
谢谢.
当我在 MacBook Pro M1 中运行此命令来安装画布时:
npm install --save-dev canvas
Run Code Online (Sandbox Code Playgroud)
显示错误:
npm ERR! code 1
npm ERR! path /Users/xiaoqiangjiang/source/reddwarf/frontend/js-wheel/node_modules/canvas
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build
npm ERR! Failed to execute '/Users/xiaoqiangjiang/.nvm/versions/node/v16.13.2/bin/node /Users/xiaoqiangjiang/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/xiaoqiangjiang/source/reddwarf/frontend/js-wheel/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/xiaoqiangjiang/source/reddwarf/frontend/js-wheel/node_modules/canvas/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v93' (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using node-pre-gyp@1.0.8
npm ERR! node-pre-gyp info using node@16.13.2 | darwin | arm64
npm ERR! node-pre-gyp info check checked …Run Code Online (Sandbox Code Playgroud) 我有一个带有需要插入 RDS 数据库的 lambda 函数的 AWS CDK 堆栈。部署堆栈时,lambda 函数无法访问数据库并给出错误:getaddrinfo ENOTFOUND [RDS 端点由我定义]。手动添加RDS数据库所在的VPC、子网和安全组后,lambda函数正常工作。
您如何在 AWS CDK 中定义 VPC、子网和安全组,最好是在 TypeScript 中?就文档而言,我尝试过:
const vpc = ec2.Vpc.fromLookup(this, "VPC", { vpcName: "myVPC" });
const securityGroup = ec2.SecurityGroup.fromSecurityGroupId(
this,
"SG",
"sg-XXXXX"
);
const subnet1a = ec2.PrivateSubnet.fromSubnetAttributes(this, "SUBNET1A", {
subnetId: "eu-central-1a"
});
const myLambda = new lambda.Function(this, "myLambda", {
runtime: lambda.Runtime.NODEJS_12_X,
code: lambda.Code.fromAsset("lambda"),
handler: "myLambda.handler",
description: "myLambda",
environment: {
DB_HOST: "XXXX",
DB_USER: "XXXX",
DB_PASSWORD: "XXXX",
DB_NAME: "XXXX"
},
vpc: vpc,
vpcSubnets: [subnet1a],
securityGroups: [securityGroup]
});
Run Code Online (Sandbox Code Playgroud)
运行 cdk …
我们在 AWS 中有一个应用程序负载均衡器,我们正在尝试对内部 DNS 名称而不是 IP 的请求进行负载均衡。
例如:
我们正在尝试负载平衡到10.0.10.1internal-abc.host.com和 10.0.10.2 internal-efg.host.com,而不是 10.0.10.1 和 10.0.10.2
然而,在配置 ALB 的目标时,我们似乎只能选择指定一个或多个 IP 地址,而不是 DNS 名称。
我们想要使用 DNS 而不是 IP 的原因是,我们从 ELB 请求的服务是从我们无法控制的对等 VPC 中的服务创建的,并且私有 IP 经常更改。
我们已经考虑过在不同的可用区中旋转 Nginx 并使用 Nginx 将请求重新路由到 DNS 上......但是感觉我们缺少一种更直接的方法。
我们还阅读了这篇AWS 文章,其中建议使用 S3 可能是一种选择,但我们认为 S3 并不是真正为此目的而设计的。
我们还研究了在 Route53 上设置反向 DNS,例如使用此处in-addr.arpa所解释的方法,但这似乎仅适用于公共 IP,如此处所解释的,我们希望使用私有 IP 仅使用 VPC 对等互连路由流量。
谢谢。
我想知道AWS开发工具包DynamoDB客户端和DynamoDB DocumentClient之间的区别吗?在哪种用例中,我们应该在DocumentClient上使用DynamoDB客户端?
const dynamoClient = new AWS.DynamoDB.DocumentClient();
vs
const dynamo = new AWS.DynamoDB();
Run Code Online (Sandbox Code Playgroud) 以下FTL标记对我来说很好,并在我的服务器端JiveActionSupport对象中调用getWidgets():
<#list widgets! as widget>
-- do something with widget.sku
</#list>
Run Code Online (Sandbox Code Playgroud)
但是,我真的需要一个依赖于widget属性的内部列表,如下所示:
<#list widgets! as widget>
<#list manufacturers(widget.sku)! as manufacturer>
-- do something with manufacturer
</#list>
</#list>
Run Code Online (Sandbox Code Playgroud)
我试图实现服务器端代码,如下:
public List<Manufacturer> getManufacturers(int sku);
public List<Manufacturer> getManufacturers(String sku);
Run Code Online (Sandbox Code Playgroud)
但两者都导致"表达式制造商在第123行未定义".
如何将参数传递给当前JiveActionSupport对象的方法?谢谢.
我们将 AWS Elastic Beanstalk 用于我们的计算环境。标记效果很好,EC2 实例使用环境名称作为“名称”键进行标记。但是我注意到相应的 EBS 卷根本没有标记。有谁知道如何配置 Elastic Beanstalk 来标记 EBS 卷。这在计费报告中非常有用。
非常感谢您的帮助
我已经使用 AWS 亚马逊几年了。
但是,突然当我登录时,我进入了此验证部分,他们将验证码发送到我的电子邮件,我收到了该代码。
因此,我输入收到的代码,最终返回登录页面。所以我登录后,同样的事情一遍又一遍地发生。
我无法进入我的仪表板,它只是不断返回到登录和验证页面。
我已经尝试过以下操作:
有人以前遇到过这个问题并有解决方案吗?
D
我需要使用通过 API 网关触发的 AWS Lambda。我有 python 脚本,它从 S3bucket 加载机器学习模型,并从 api 调用获取输入并预测结果。我可以成功触发用 python 内联编写的 lambda 函数。但我想使用机器学习包来预测 lambda 函数。所以我知道我需要上传安装在虚拟环境中的包的代码,我做到了。但是 lambda 在触发时给出错误“无法导入模型 lambda_function”。我有 lambda_function.py 和方法“处理程序”。请告诉我我是否做得正确(创建虚拟环境并安装包并上传)以及为什么会出现此错误。另外,让我了解 Windows 和 AWS 控制台的解决方案。我已经看到许多有关 Linux 命令和使用 aws cli 的答案。
更新:
这真让我抓狂!。我已经尝试了答案中找到的所有方法,但没有一个对我有用。它给出了相同的错误:“无法导入模块:lambda_function”所以我无法理解错误在哪里。如果您有任何建议,请帮助我。在你说函数名称之前:我有正确的名称:lambda_function.lambda_handler。我压缩了内容而不是目录。请参阅 lambda json 文件下面的我的 lambda 代码和 lambda 设置
Lambda函数代码:
import boto3
import os
import uuid
import sklearn
import pickle
def lambda_handler(event, context):
s3_client = boto3.client('s3')
s_desc=event['params']['querystring']['token']
X_test1=[]
X_test1.append(s_desc)
#load model
bucket = 'harshini-snow-bucket'
key = 'model.pkl'
download_path = '/tmp/{}{}'.format(uuid.uuid4(), key)
s3_client.download_file(bucket, key, download_path) …Run Code Online (Sandbox Code Playgroud) 根据此 AWS 文档:场景 2:具有公共和私有子网 (NAT) 的 VPC我有自己的 VPC,具有两个子网:私有子网和公共子网。在公共子网中,我部署了一个分配了 EIP 的 Ubuntu 16.04 实例。它还具有下一个安全组入站规则:
Type Protocol Port Range Source Description
SSH TCP 22 xx.xx.xx.xx/32 Home IP
Run Code Online (Sandbox Code Playgroud)
并相应出站:
Type Protocol Port Range Source Description
SSH TCP 22 sg-xxprivatexx Security group ID for instance in private subnet
Run Code Online (Sandbox Code Playgroud)
看起来不错,我可以ssh从家里到外面。没问题。
在私有子网中,我部署了另一台具有下一个安全组(入站规则)的 Ubuntu 16.04 计算机:
Type Protocol Port Range Source Description
HTTP TCP 80 sg-xxpublicxxx Security Group ID for bastion instance in public subnet
SSH TCP 22 sg-xxpublicxxx -
Run Code Online (Sandbox Code Playgroud)
并且没有出站规则(实际上它打开了 80、443 个出站端口,但我猜这不是一个有趣的部分)。我仍然可以从我的堡垒访问该虚拟机 …
aws-lambda ×2
javascript ×2
amazon-ec2 ×1
amazon-elb ×1
android ×1
aws-cdk ×1
aws-sdk ×1
dns ×1
freemarker ×1
ip ×1
java ×1
node.js ×1
python ×1
ssh ×1
ssh-tunnel ×1
tags ×1
volume ×1
vpc ×1
windows ×1