主页文档代码示例API 参考公告模型发行说明常见问题GitHub视频
开发者中心API 状态支持
文档
开发者中心API 状态支持

教程:向 Amazon SQS 队列授予 SP-API 权限

了解如何向 Amazon SQS 队列授予权限,以便销售合作伙伴 API 可以向您的队列发布通知。

要通过亚马逊简单队列服务 (亚马逊 SQS) 接收来自卖家合作伙伴 API (SP-API) 的通知,您必须授予 SP-API 写入您的亚马逊 SQS 队列的权限。

本教程介绍如何通过两种方式完成此任务:使用 AWS CloudFormation 模板或使用亚马逊 SQS 控制台手动完成此任务。

教程:使用 AWS CloudFormation 模板向 Amazon SQS 队列授予 SP-API 权限

以下教程介绍如何使用 AWS CloudFormation 模板向您的亚马逊 SQS 队列授予权限。AWS CloudFormation 模板自动创建和配置亚马逊 SQS 队列。

第 1 步。复制 AWS CloudFormation 模板

将以下 YAML 代码复制到文件中。

AWSTemplateFormatVersion: 2010-09-09 Description: >- AWS CloudFormation Template to create a new SQS queue used to receive notifications from Notifications API. Parameters: DestinationQueueName: Type: String Description: The name of the SQS queue to be created. Resources: DestinationQueue: Type: 'AWS::SQS::Queue' Properties: QueueName: !Ref DestinationQueueName DestinationQueuePolicy: Type: 'AWS::SQS::QueuePolicy' Properties: Queues: - !Ref DestinationQueue PolicyDocument: Version: 2012-10-17 Statement: - Sid: AllowSPAPIAccess Effect: Allow Principal: AWS: '437568002678' Action: - 'sqs:GetQueueAttributes' - 'sqs:SendMessage' Resource: !GetAtt - DestinationQueue - Arn

第 2 步。登录 AWS CloudFormation 控制台

登录 AWS CloudFormation 控制台

第 3 步。指定 AWS CloudFormation 模板

要指定 AWS CloudFormation 模板,请执行以下步骤:

  1. AWS 云端控制台,选择 Create stack,然后选择 With new resources (standard)

  2. Create stack 页面,下方 Specify template,选择 Upload a template file,然后选择您在本过程开始时复制的模板。

  3. 选择 Next

第 4 步。输入堆栈的名称

对于 Provide a stack name,根据您上传的 AWS CloudFormation 模板输入要创建的堆栈的名称。

第 5 步。输入目标 Amazon SQS 队列的名称

对于 DestinationQueueName,输入 Amazon SQS 队列的名称,然后选择 Next

第 6 步。配置堆栈选项

要配置堆栈选项,请执行以下步骤:

  1. Configure stack options 页面,保留默认设置,然后选择 Next

  2. 查看配置,然后选择 Submit

  3. 等待堆栈成功创建。

    在以下情况下成功创建堆栈 Stacks 详情页面,堆栈的状态为 CREATE_COMPLETE

第 7 步。获取 Amazon SQS 队列的 ARN

采取以下步骤获取您创建的亚马逊 SQS 队列的亚马逊资源名称 (ARN)。

  1. 前往 亚马逊 SQS 控制台

    你应该在列表中看到你的新队列。

  2. 选择队列。

  3. 在下面 ARN,复制队列的亚马逊资源名称 (ARN)。

    第 2 步教程:设置通知(亚马逊简单队列服务工作流程),你将 ARN 传递给 createDestination 通过使用 arn 参数。

教程:使用 Amazon SQS 控制台向 Amazon SQS 队列授予 SP-API 权限

以下教程介绍如何通过在 Amazon SQS 控制台中手动配置权限来向您的 Amazon SQS 队列授予权限。

第 1 步。登录亚马逊 SQS 控制台

登录 亚马逊 SQS 控制台

Step 2. Select the Amazon SQS queue

选择要在其中接收通知的标准队列。

第 3 步。打开策略编辑页面

要设置权限,请执行以下步骤:

  1. 选择 Queue Policies 选项卡。

  2. 来自 Access policy (Permissions) 部分,选择 Edit

    这个 Edit Queue 页面打开。

第 4 步。编辑队列策略

要编辑策略,请执行以下步骤:

  1. 向下滚动至 Access policy 部分,然后选择 Policy generator 链接。

    AWS 策略生成器将在新选项卡中打开。

  2. 在策略生成器的步骤 1 中,选择 SQS Queue Policy

  3. 在策略生成器的步骤 2 中,选择以下值,然后选择 Add Statement:

    • Effect 设置为 Allow
    • Principal 设置为 437568002678
    • Actions 设置为 SendMessageGetQueueAttributes
    • 在中输入 SQS ARN 值 Amazon Resource Name (ARN)
    • 选择 Add Statement 并验证详细信息。
  4. 在策略生成器的第 3 步中,选择 Generate Policy

    将打开一个包含新策略的对话框。

第 5 步。复制并粘贴政策

采取以下步骤:

  1. 来自 Policy JSON Document 对话框中,复制策略,然后选择 Close

  2. 在浏览器中,导航回亚马逊 SQS 队列,打开 Access policy 选项卡,然后将策略粘贴到 Access Policy (Permissions) 部分。

  3. 选择 Save

第 6 步。注意 ARN

引用队列的 Details 部分并记下此队列的 ARN。当您在步骤 2. 创建一个目标位置中调用 createDestination 操作时,您将使用 arn 参数传递此值。

第 7 步。获取 Amazon SQS 队列的 ARN

在队列详细信息页面中,在 ARN,复制队列的亚马逊资源名称 (ARN)。

第 2 步教程:设置通知(亚马逊简单队列服务工作流程),你将 ARN 传递给 createDestination 通过使用 arn 参数。

结论

在这些教程中,您学习了如何通过两种方式向您的亚马逊 SQS 队列授予 SP-API 权限:使用 AWS CloudFormation 模板或使用亚马逊 SQS 控制台。授予权限后,请参阅 教程:设置通知(亚马逊简单队列服务工作流程) 了解如何调用销售合作伙伴 API 向您的队列发送通知。


此页面对您有帮助吗?