问题标签 [aws-sdk-net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用 .net SDK 查询 DynamoDb 表的正确方法
我试图了解如何使用 DataModel 在 dynamo 中查询表。但是,我发现了两种似乎可行的方法,但我找不到正在发生的事情的解释或文档,或者它们之间是否有任何区别。
我发现的方法是使用Filter
或KeyExpression + FilterExpression
. 有什么区别和正确的做法?
一些例子:
选项1:
-- 带索引和键
-- 带有索引、键和额外的过滤
-- 使用 GSI、密钥和分区
选项 2:
-- 带索引和键
-- 带有索引、键和额外的过滤
-- 使用 GSI、密钥和分区
c# - Amazon S3 SDK 不允许我使用 GetObjectMetadata。它只允许我使用 GetObjectMetadataAsync
我将 Amazon S3 sdk 与 .Net 一起用于 Xamarin 项目,我需要先检查一个对象是否存在于存储桶中,然后再对其进行处理。我不能使用该Exists
属性,Amazon.S3.IO.S3FileInfo
因为由于某种原因我不能Amazon.S3.IO
在我的代码中使用命名空间。(使用它会让我的生活变得更轻松),所以我使用以下代码(我从 S3FileInfo here的源代码中获得)
AWSS3Helper 的代码如下:
任何人都知道如何避免使用这个异步函数?它会阻止我返回一个布尔值,如果我必须返回一些我需要的东西,我需要在使用这个函数的地方使用 Await,这意味着我需要使每个使用它的函数成为异步函数,我真的很想避免复杂化随之而来的。
aws-sdk - AWS .NET SDK 何时加载凭证文件?它是在启动时还是在初始化客户端或......?
正如我的标题所述,我们正在使用 AWS .NET SDK 并在我们的 web.config 上配置了一个指向凭证文件的配置文件(请参阅:https ://docs.aws.amazon.com/sdk-for-net/v2 /developer-guide/net-dg-config-creds.html使用凭证文件)在磁盘上(所以在源代码之外)。这似乎工作正常,但我们每 x 个周期轮换这些键,因此我们需要更改文件中的键。我的问题是 de AWS .NET SDK 是否注意到文件已更改并自动加载新凭证,或者它何时实际加载?换句话说,如果我们更改此文件中的凭据,我们是否需要执行其他步骤才能让应用程序实际使用它们?
我现在尝试的是在本地启动应用程序,将凭据更改为错误的凭据,并且呼叫仍然可以顺利进行。接下来,我停止了我的应用程序并使用具有错误凭据的同一文件进行了重建。这样做之后,应用程序仍然能够进行正确的调用,所以我想知道它是如何工作的,就好像它依赖于确实有效的凭据一样。或者也许我只是没有测试正确。
我们正在使用 .net framework 4.6.2 应用程序,使用 aws sdk 3.3 版
另外我忘了提到的是,对于每个请求,我们都会像这样初始化客户端:
c# - AmazonAWSHealthClient.DescribeEventsRequest:没有这样的主机是已知的
我想针对我的 AWS 账户上的健康事件提出请求。我使用此代码来执行请求:
但响应是“没有这样的主机是已知的”。我需要改变什么?我是否需要更改我的 AWS 账户上的某些设置?
amazon-web-services - AWS lambda 事件参数:Records 何时在其中保存多个项目?
我有这样的基础设施:S3
-> SQS
-> Lambda
。当文件被拖放到 S3 时,它会将事件放入 SQS 队列,然后由 lambda 函数使用。
Lambda 是用 .net 核心编写的。在 lambda handlers 参数中,我SQSEvent
在它的主体中收到一个和,它S3Event
被序列化为 Json。
类结构大致如下。它们直接来自 AWS .net SDK。
我很好奇的部分是,两者SQSEvent
都有S3Event
记录列表。在我的实验中,我总是在这些列表中收到一个项目。是否知道在哪些情况下这些Records
列表中的任何一个将包含多个项目?我没有找到说明这种行为的文件。
c# - 部署 .net core api AWS 无服务器应用程序后出现 403 Forbidden/500 Internal Server Error
- 创建了一个 .net 核心 AWS 无服务器应用程序。
- Cognito 用于进行身份验证。
- 已配置用户和应用程序客户端。
- 当我在本地运行解决方案时,它运行良好(记住它是 http)。
当我使用发布向导发布并使用
邮递员(https://myendpoint/Prod)点击新网址时,我立即得到:{“消息”:“禁止”}
我只能猜测这与这里的http / https有关。
身份验证控制器:
启动.ConfigureServices
编辑#1 看来我解决了禁止的味精,但现在出现 500 错误。
邮递员产生:500 内部服务器错误
使用 API Gateway 进行测试(Api Gateway->Resources-> /{proxy+}->Any->Test->Post)
方法:POST Proxy 设置为:/api/signin 请求正文:
产量:
c# - AWS S3 获取对象部分元数据
我正在尝试使用 .Net C# SDK 获取有关 S3 中上传对象的部件数量和部件大小的信息。下面的命令行开关返回 PartsCount 和 ContentLength(零件大小)。
在 SDK 中有一个检索对象元数据的方法 - GetObjectMetaDataAsync() 但它返回文件的元数据而不是特定部分,例如 PartsCount 属性始终为空。这似乎相当于:
我试图找到一个过载或一些允许我传递零件号的参数。目前好像不支持。但是 GetObjectMetadataResponse 具有 PartsCount 的属性,在我的情况下始终为 Null。
谁能建议一种方法来获取有关使用 AWS C# 开发工具包的特定对象的 NumberOfParts 和 PartSizes 的信息?
amazon-web-services - 使用 .NET 创建任务定义修订、更新 docker 标签和更新服务
作为使用 .NET AWS 开发工具包进行自动化部署的一部分,我正在尝试创建一个新的任务定义修订版,使用我新部署的版本更新 docker 映像标签标签,然后更新服务以使用该新修订版。
我有这样的事情:
我担心上面的代码不会复制现有的任务定义,例如在 AWS 控制台中,当您单击“创建新修订版”时,您必须选择一个任务定义,以便按钮创建一个副本,以便您可以修改它并保存新版本,所以我需要一些代码来获取现有任务定义,然后只需更改 docker 映像,然后RegisterTaskDefinitionAsync
使用现有定义和修改后的 docker 映像调用?
c# - 如何在 AWS-SDK-NET 中正确使用 SES 的 SendBulkTemplatedEmailRequest?
我正在尝试通过适用于 .Net 的 AWS-SDK使用AmazonSimpleEmailService客户端来发送SendBulkTempatedEmailRequest。我已经实现了一个专门的处理程序来实际构建请求并进行SendBulkTemplatedEmailAsync调用。它没有按我的预期工作。我认为请求对象如何序列化并传递给 API 存在错误。
这是一些示例代码:
和SourceArn
的属性被故意省略。根据SES 文档,开发工具包将 Amazon SES API 的低级功能与高级数据类型和函数调用封装在一起,为您处理细节。当我查看用于发送批量电子邮件的 API 文档时,ARN 属性都列出为不需要的。当我查看一些CLI 示例时,它是相同的。当我查看SDK for .Net v3的文档时,它是模棱两可的(未标记为必需或可选)。TemplateArn
ReturnPathArn
因为 SDK 应该包装 API 的低级功能,所以我不认为 ARN 值是必需的(API 和 CLI 都不需要它们)。但是,当我尝试实际使用在代码片段中创建的请求对象时,我收到一条错误消息,提示InvalidTemplateData
.
如果我将请求对象序列化为 JSON,然后从字符串中删除 3 个 ARN 字段,我可以使用 API 或 CLI 成功发送消息。
除了没有为 ARN 指定值之外,我还尝试过(对于所有 3 个 ARN 值):
specificArn = string.empty;
specificArn = new {};
specificArn = "";
我还尝试过将对象与初始化属性分开显式更新:
var request = new SendBulkTemplatedEmailRequest();
,然后单独填充属性。
如果我不初始化 ARN 值,则在调用 send 方法时会收到有关NoneType与StringType的错误。我尝试的字符串初始化变化导致InvalidTemplateData错误。
请注意,我确实知道 Source 和 ReturnPath 的 ARN 值。我没有我们使用的模板的 ARN 值。假设使用 CLI,当您创建模板时,您应该收到包含模板 ARN 的响应。创建模板时,CLI 没有响应,但每次尝试时都会创建它。当describe-template
您指定 SES 时,CLI 命令无效,如果我未指定工作区(无论您如何称呼 SES 空间)值,则会以错误响应。
有人对如何解决这个问题有建议吗?
.net - 尝试在 CICD 中部署 .NET 应用程序
我正在开发一个在 .net 框架上的应用程序,代码在 github 上,有人可以帮助我了解 buidspec.yml 文件以及我在 CICD 构建项目的项目环境中使用的任何额外文件:
当代码构建发生时,会出现如下错误: