我是AWS移动中心的新手,今天我只注意到有一个新的AWS Amplify/CL,现在我对这两个库非常困惑.
我的理解是AWS mobile cli是一个创建aws后端服务的工具,并且放大js只是与aws后端连接的客户端库.
但现在我看到这个AWS Amplify/CLI,它也可以创建aws服务并创建aws-exports.js文件,现在AWS Amplify文档已经改变,它不再告诉你它如何与移动集线器一起工作,而是使用Amplify/CLI以创建服务.
剂量是否意味着我应该使用AWS Amplify/CLI?
我正在使用AWS Amplify库为AppSync项目注册并执行Auth.这使用Cognito.但是,当新用户通过Amplify/Cognito注册时,新用户不会分配到cognito池中的任何特定组.我使用Amplify高阶组件进行登录/注册.
import { withAuthenticator } from 'aws-amplify-react';
Run Code Online (Sandbox Code Playgroud)
我将一个组件包裹起来
class Authenticator extends React.Component {
//... basically empty component, only exists so I can wrap it w/ the HOC
}
export default withAuthenticator(Authenticator)
Run Code Online (Sandbox Code Playgroud)
Amplify在index.js中设置
import config from './aws-exports';
import Amplify from 'aws-amplify';
Amplify.configure(config);
Run Code Online (Sandbox Code Playgroud)
aws-exports.js由AWS Mobile Hub CLI自动生成.好像...
const awsmobile = {
'aws_app_analytics': 'enable',
'aws_cognito_identity_pool_id': 'us-west-2:XXX',
'aws_cognito_region': 'us-west-2',
'aws_content_delivery': 'enable',
'aws_content_delivery_bucket': 'flashcards-hosting-mobilehub-XXX',
'aws_content_delivery_bucket_region': 'us-west-2',
'aws_content_delivery_cloudfront': 'enable',
'aws_content_delivery_cloudfront_domain': 'XXX.cloudfront.net',
'aws_mandatory_sign_in': 'enable',
'aws_mobile_analytics_app_id': 'XXX',
'aws_mobile_analytics_app_region': 'us-east-1',
'aws_project_id': 'XXX',
'aws_project_name': 'flash-cards',
'aws_project_region': 'us-west-2',
'aws_resource_name_prefix': 'flashcards-mobilehub-XXX', …
Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-mobilehub aws-cognito aws-appsync aws-amplify
我正在尝试使用AWS mobilehub的iOS SDK了解如何使用开发人员身份验证身份登录,因为最近AWS更改了此SDK,但我找不到任何相关文档.该示例应用程序无法阐明这一点.
我有一个REST API来检索认知ID和令牌,但是我不知道一旦我有了它,该如何处理它们.
AWS有以下不同的类,这些问题进一步使问题复杂化:
AWSCredentialsProvider,AWSCognitoCredentialsProvider(新SDK中不再提供),AWSSignInProvider,AWSAbstractCognitoIdentityProvider(新SDK中不再提供)
现在有一种名为AWSAbstractCognitoIdentityProviderHelper的东西..
这些由AWSIdentityManager处理,它是AWSMobileHubHelper.framework的一部分,但是AWSIdentityManager不允许您设置凭证提供程序,所以我不明白我在这方面是如何与它进行交互的.
任何教程,文档等都将非常感激
我正在使用 react-native 玩 aws mobilehub,我希望它可以为我加速后端托管。
但是,我无法使其后端 API 正常工作。在长期使用他们的文档之后,我确定了它的 lambda 函数和 dynamodb 服务之间的问题。
任何想法都非常感谢!
正如标题所说:我的 aws lambda 函数可以请求其 dynamodb 但没有响应。这里出了什么问题?或者如何从 AWS dynamodb 获取调试信息?(我 gg 并启用了 Cloudtrial 但它似乎也没有 dynamodb 的操作日志。)
这里我有最简单的 node.js 6.10 代码:
const AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-2'});
const dynamodb = new AWS.DynamoDB.DocumentClient();
exports.handler = function(event, context, callback) {
var responseCode = 200;
var requestBody, httpMethod, res;
console.log("request: " + JSON.stringify(event));
// Request Body
requestBody = event.body;
/*testing dynamodb with put*/
console.log("PUT begins");
let putItemParams2 = { …
Run Code Online (Sandbox Code Playgroud) 我在 MobileHub 中使用 AWS Amplify 库。
我连接了一个 Cognito 用户池和一个 API 网关(与 Lambda 函数通信)。我希望我的用户在访问资源之前进行签名,因此我在 MobileHub 用户登录页面和云逻辑页面中启用了“强制登录”。
身份验证工作正常,但是当我向 API 发送 GET 请求时,收到此错误:
"[WARN] 46:22.756 API - ensure credentials error": "cannot get guest credentials when mandatory signin enabled"
Run Code Online (Sandbox Code Playgroud)
我了解 Amplify 会生成访客凭证,并将这些凭证放入我的 GET 请求中。由于我启用了“强制登录”,这不起作用。
但是为什么要使用访客凭证呢?我已经登录 - 它不应该使用这些凭据吗?如何使用已验证用户的信息?
干杯。
编辑:这是来自 Lambda 函数的代码:
拉姆达函数:
import { success, failure } from '../lib/response';
import * as dynamoDb from '../lib/dynamodb';
export const main = async (event, context, callback) => {
const params = {
TableName: 'chatrooms',
Key: {
user_id: …
Run Code Online (Sandbox Code Playgroud) aws-amplify ×3
aws-appsync ×1
aws-cli ×1
aws-cognito ×1
aws-lambda ×1
ios ×1
iphone ×1
node.js ×1
objective-c ×1