You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已创建AWS Amplify函数,如何从React Native应用调用?

在React Native中调用AWS Amplify函数的实操步骤

1. 确认项目Amplify配置状态

先确保你的React Native项目已经完成Amplify初始化,本地存在aws-exports.js配置文件,且入口文件(如App.js)中已添加Amplify初始化代码:

import Amplify from 'aws-amplify';
import awsExports from './aws-exports';
Amplify.configure(awsExports);

2. 根据函数类型选择调用方式

方式一:调用关联API Gateway的Lambda函数

如果你的函数是通过amplify add api创建REST API时绑定的Lambda,或后续关联了API网关,用API模块调用:

  • 导入模块:
import { API } from 'aws-amplify';
  • 发起调用(替换yourApiName为你的API名称,/yourPath为API路径,请求方法根据实际配置选post/get/put等):
const callLambda = async () => {
  try {
    const res = await API.post('yourApiName', '/yourPath', {
      body: { key: 'value' } // 传递给Lambda的参数
    });
    console.log('Lambda返回:', res);
    // 处理业务逻辑
  } catch (err) {
    console.error('调用出错:', err);
  }
};

方式二:直接调用独立Lambda函数(无API Gateway)

如果是通过amplify add function创建的独立Lambda,用Function模块直接调用:

  • 先安装依赖:
npm install @aws-amplify/function
  • 导入并调用(替换yourFunctionName为你的Lambda函数名,注意带环境后缀如-dev):
import { Function } from '@aws-amplify/function';

const callDirectLambda = async () => {
  try {
    const res = await Function.invoke({
      functionName: 'yourFunctionName-dev',
      payload: { key: 'value' } // 传递的参数
    });
    console.log('Lambda返回:', res);
  } catch (err) {
    console.error('调用出错:', err);
  }
};

3. 配置用户权限

确保Amplify认证用户(若用Cognito)拥有调用该Lambda的权限,通过CLI更新:

amplify update function

选择目标函数,按提示配置允许认证/未认证用户调用的权限,完成后执行amplify push生效。

4. 集成到应用UI

把调用逻辑绑定到UI事件,比如按钮点击:

import { Button } from 'react-native';

// ...
<Button title="触发Lambda" onPress={callLambda} />
// ...

运行应用测试,查看控制台日志确认调用结果。


内容的提问来源于stack exchange,提问作者orome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:09:28