标签: aws-amplify-cli

AWS Amplify & React - 找不到模块:无法解析“@aws-amplify/analytics”

我正在尝试将登录功能添加到我使用 Amplify 和 AWS Cognito 构建的 React 应用程序中,但是当我在 Login.js 文件中添加以下行时:

Import {Auth} from "aws-amplify-react";
Run Code Online (Sandbox Code Playgroud)

并尝试编译,我收到以下错误:

Failed to compile.

./node_modules/aws-amplify-react/lib-esm/Analytics/trackLifecycle.js
Module not found: Can't resolve '@aws-amplify/analytics' in 'my_react_path/node_modules/aws-amplify-react/lib-esm/Analytics'
Run Code Online (Sandbox Code Playgroud)

我尝试使用自制软件和 npm 安装 Amplify,但我无法解决这个问题,有什么提示吗?

编辑:

最初我有:

Import {Auth} from "aws-amplify";
Run Code Online (Sandbox Code Playgroud)

但是编译器无法解析aws-amplify,只能在node_modules文件夹中找到aws-amplify-react,所以我改了。

但是,在第 39 行的“node_modules/aws-amplify-react/lib-esm/Analytics/trackLifecycle.js”中:

import Analytics from '@aws-amplify/analytics';
Run Code Online (Sandbox Code Playgroud)

问题是它找不到 aws-amplify ......我在安装时弄得一团糟吗?

amazon-web-services reactjs aws-amplify aws-amplify-cli

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

删除 AWS Amplify 添加的用户池

我正在开发 React Native 应用程序并使用 AWS Amplify 和 Amazon Cognito 进行身份验证。我已经使用 Amplify CLI ( amplify add auth)添加了应用程序的身份验证。问题是我需要添加/删除注册所需的属性,但在创建用户池后无法更改这些属性。

我的问题是如何使用 CLI 删除当前添加的用户池,并确保更改反映在aws-exports.js?

amazon-cognito aws-amplify aws-amplify-cli

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

如何使用 Amplify CLI“pull”命令拉取对 AppSync 网络控制台所做的更改

我想要完成的任务: 我在 AppSync Web 控制台上编辑了一个 amplify + AppSync 项目,我想将它拉到我的本地机器上。

我做了什么:

我通过执行三个命令使用 Amplify CLI 初始化了一个 amplify 项目:

amplify init
amplify add api
amplify push
Run Code Online (Sandbox Code Playgroud)

(添加的api是GraphQL)

接下来,我在 AppSync Web 控制台上编辑了一些自动生成的 GraphQL 解析器。(我已经使用客户端应用程序测试了编辑过的解析器 -> 它们有效)

然而,之后,当我在 Amplify CLI 中执行拉取操作时:

amplify pull
Run Code Online (Sandbox Code Playgroud)

它只提取在最后一个 Amplify CLI 推送命令之前对本地文件所做的更改,

因此,Amplify CLI pull 命令不会考虑对 AppSync Web 控制台所做的任何更改。

问题:

  1. 这是预期的行为吗?
  2. 有没有办法在 Amplify CLI pull 命令中包含对 Web 控制台所做的更改?(特别是改变了解析器)

版本:

放大 cli:4.13.3

我发现的其他有用的东西:

AWS-CloudFormation 也仅在使用 Amplify CLI 进行更改时显示更新。

保存放大项目文件的 AWS-S3 存储桶也仅镜像使用 Amplify CLI 推送的更改。

aws-appsync aws-amplify-cli

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

将 Angular 应用程序更新到最新版本 10.0 后出现 aws-amplify 警告

我已将 angular 应用程序更新到最新版本,并不断收到来自@aws-amplify 的警告消息。我知道 angular 10 不建议使用 commonjs。由于@aws-amplify 就在那里,我该如何删除警告?

我尝试在 angular.json 中添加 allowedCommonJsDependencies

 "allowedCommonJsDependencies": [
          "crypto-js", "@aws-sdk/eventstream-marshaller", "buffer", "js-cookie", 
          "@aws-crypto", "zen-observable", "@aws-sdk/util-utf8-node", "@aws-crypto/sha256-js", "@aws-sdk/util-buffer-from",
          "@aws-sdk/smithy-client", "@aws-sdk/middleware-serde", "@aws-sdk/middleware-user-agent",
          "@aws-sdk/middleware-retry", "@aws-sdk/middleware-signing", "@aws-sdk/middleware-content-length",
          "@aws-sdk/middleware-host-header", "@aws-sdk/config-resolver", "@aws-sdk/s3-request-presigner",
          "@aws-sdk/util-format-url", "@aws-sdk/util-create-request", "@aws-sdk/property-provider",
          "axios", "@aws-sdk/fetch-http-handler", "@aws-sdk/protocol-http", "@aws-sdk/querystring-builder",
          "@aws-sdk/util-utf8-browser", "@aws-sdk/url-parser-browser", "@aws-crypto/sha256-browser",
          "@aws-sdk/url-parser-node", "@aws-sdk/util-uri-escape", "@aws-sdk/middleware-sdk-s3",
          "@aws-sdk/middleware-bucket-endpoint", "@aws-sdk/querystring-parser", "@aws-sdk/middleware-apply-body-checksum",
          "@aws-sdk/middleware-ssec", "@aws-sdk/middleware-expect-continue", "fast-xml-parser",
          "@aws-sdk/xml-builder", "@aws-sdk/md5-js", "@aws-sdk/hash-blob-browser",
          "@aws-sdk/eventstream-serde-browser", "@aws-sdk/middleware-location-constraint", "uuid",
          "@aws-sdk/credential-provider-cognito-identity", "@aws-sdk/eventstream-serde-config-resolver",
          "@aws-sdk/client-s3","@aws-sdk/client-pinpoint",
          "ulid", "zen-push", "lodash", "@aws-amplify/core", "@aws-amplify/analytics","@aws-amplify/ui-components"
          ]
Run Code Online (Sandbox Code Playgroud)

警告

WARNING in /Users/macbook/Projects/src/app/shared/components/forms/datepicker/datepicker.component.ts depends on 'inputmask'. CommonJS or AMD dependencies can cause …
Run Code Online (Sandbox Code Playgroud)

aws-sdk-nodejs angular aws-amplify aws-amplify-cli angular10

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

是否可以向使用 AWS Amplify 预置的 lambda PostAuthenticate 函数授予额外权限?

TL;DR: 是否可以手动更改用于身份验证后功能配置的 Amplify CloudFormation 模板以授予(例如)IoT AttachPrincipalPolicy权限?

我正在使用 AWS Amplify 和amplifyCLI 来设置一个新项目。总体而言,Amplify 让事情变得非常简单,但我一直有这样的感觉,即在事情变得困难或无法通过 Amplify 控制的项目完成之前,您只能使用 Amplify 走“到目前为止”。

我感兴趣的用例与物联网的设置有关PubSub- AWS 说明涵盖了如何使其工作,但我将其称为“概念验证”,而不是“您应该在接近生产的任何地方使用的东西” -它涉及手动调用aws iot attach-principal-policy --policy-name 'myIoTPolicy' --principal '<YOUR_COGNITO_IDENTITY_ID>'每个 Cognito 身份。

相反,我想做的是,当用户登录网站时,使用身份验证后lambda 函数/事件挂钩来调用AttachPrincipalPolicy(可能首先检查策略是否已附加!)。

也许显然这并不“有效”,我测试过

var iot = new AWS.Iot();

  var params = {
    policyName: 'myIoTPolicy', /* required */
    principal: 'XYZ123XYZ123' /* required */
  };

  try {
    iot.attachPrincipalPolicy(params, function (err, data) {
      if (err) console.log(err, err.stack); // an error occurred
      else …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-amplify aws-amplify-cli

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

在 AWS Amplify 控制台上部署为 SPA 后,Nuxtjs 动态路由在页面重新加载时不起作用

我已使用 AWS Amplify 控制台在 AWS 上将 Nuxtjs 应用程序部署为 SPA。现在我的网站有一些动态路由,当重新加载或在新选项卡中打开时,它们会重定向到 404 页面。我知道当我们使用nuxt generate 路由生成静态站点时应该使用 nuxt.config.js 中的routes()。但在 SPA 模式下,它应该致力于页面刷新或重新加载。即使在 Angular 中,当在 SPA 模式下运行时,动态路由也可以正常工作。奇怪的是,当网站作为单页应用程序运行时,动态路由不起作用。

当在生产模式下本地使用时,即npm run build && npm run start路由工作正常。但将其部署到 AWS Amplify 后,它会重定向到 404 页面。我在这里缺少什么?这是我使用的 Amplify.yml 配置

version: 0.1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - npm run build
  artifacts:
    # IMPORTANT - Please verify your build output directory
    baseDirectory: dist
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
test:
  artifacts:
    baseDirectory: cypress
    configFilePath: '**/mochawesome.json'
    files:
      - …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services vue.js nuxt.js aws-amplify aws-amplify-cli

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

Android-Amplify:使用 Amplify 将文件上传到 AWS S3/从 AWS S3 下载文件

我想开发一个简单的 Android 应用程序来将图像文件上传到 AWS 中已创建的 S3 存储桶。如果我用谷歌搜索,所有最新的 AWS 文档都会将我重定向到使用Amplify框架。我不明白此处描述的上传文件的文档。我不明白在哪里可以提供存储桶名称、IAM 凭证等。我也没有找到任何视频教程。如果在没有提供适当文档的情况下强制使用 Amplify,为什么 AWS 会这样做呢?

在这里他们提到使用 Amplify CLI 配置所有详细信息

amplify add storage

并要求使用推送更改

amplify push

但如果我们想以编程方式添加详细信息,例如存储桶名称、用户详细信息等,那么我们该怎么做呢?给我使用 Amplify 框架或适用于 Android 的旧 AWS SDK 的分步详细信息,以便在不使用 Cognito 的情况下上传文件

android amazon-s3 aws-amplify aws-amplify-cli aws-amplify-sdk-android

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

如何使用 amplify 框架/cli 配置 dynamodb-to-lambda 触发器

这里的amplify 坞站表示,我们可以通过运行**amplify add function**并选择“ Lambda Trigger ”选项将 lambda 函数配置为 dynamodb 触发器,但是当我运行"amplify add api"(选择 Python 作为运行时语言)时,我没有获得 lambda 触发器选项,我'我只获得“无服务器函数”和“lambda 层”选项。

请帮助我解决此问题以访问该功能。

文档快照 - 显示 4 个选项 在此输入图像描述

我的 CLI 快照 - 仅显示 2 个选项 在此输入图像描述

我知道它适用于 Nodejs 运行时 lambda,但我也希望 Python Lambda 具有此选项。

amazon-dynamodb-streams aws-amplify aws-amplify-cli

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

找不到模块:无法解析“./aws-exports”

尝试使用 expo 和 AWS Amplify 创建一个反应本机应用程序。我刚刚完成了所有基本初始化步骤,将应用程序托管在 Amplify 的管理控制台上,然后按照 Amplify 的文档设置基本的 GraphQL 架构。尝试启动我的应用程序时,expo start出现以下错误App.js

Module not found: Can't resolve './aws-exports'
  16 | import Amplify, { API, graphqlOperation } from 'aws-amplify';
> 17 | import awsconfig from './aws-exports';
  18 | Amplify.configure(awsconfig);
Run Code Online (Sandbox Code Playgroud)

值得注意的是,如果我注释掉第 16-18 行并尝试expo-start再次运行,应用程序运行得很好(只是没有插入 AWS 后端)

不管怎样,当我第一次看到这个时,我去检查了导入语句,发现虽然有一个模块aws-amplify,但我的存储库中不存在模块aws-exports。所以我尝试了一些命令来看看是否可以下载它。

  1. npm install aws-amplify尝试再次安装节点模块
  2. amplify init重新初始化后端
  3. 重新克隆 g​​ithub 存储库并尝试amplify pull获取我之前创建的现有后端,并在应用程序的新实例上尝试它。

我在这些尝试中都没有太多运气,所以我希望在这里找到更多帮助!谢谢 :)

amazon-web-services node.js node-modules aws-amplify aws-amplify-cli

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

放大 CLI 命令不起作用 - M1 Mac

npm install -g @aws-amplify/cli我在 M1 Mac 上安装了 Amplify CLI 。

当我amplify在终端运行时,什么也没有发生。一条新的终端线随即出现。没有错误,只是换了一行。跑步amplify help amplify -v amplify configure什么都不做。

% amplify help
% 
Run Code Online (Sandbox Code Playgroud)

如何让 amplify cli 工作?

amazon-web-services aws-amplify aws-amplify-cli

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