我正在上传一个base64字符串,但GraphQL被挂起了.如果我将字符串切片少于50,000个字符就可以了.在50,000个字符之后,graphQL永远不会使其成为解析函数,但不会产生错误.在较小的字符串上,它工作得很好.
const file = e.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onloadend = () => {
const imageArray = reader.result;
this.context.fetch('/graphql', {
body: JSON.stringify({
query: `mutation s3Upload($img: String!) {
s3Upload(file: $img) {
logo,
}
}`,
variables: {
img: imageArray,
},
}),
}).then(response => response.json())
.then(({ data }) => {
console.log(data);
});
}
const s3Upload = {
type: S3Type,
args: {
file: { type: new NonNull(StringType) },
},
resolve: (root, args, { user }) => upload(root, args, user),
};
const S3Type …Run Code Online (Sandbox Code Playgroud) 我有一个后端设备,MQTT客户端连接到开源MQTT代理(Mosquitto).另一方面,我有许多前端设备(PC,平板电脑,移动),GUI应用程序也连接到代理.所以这里Mosquitto作为后端设备和前端设备之间的通信点,只是在它们之间转发消息.有时传输的数据量可能非常高(例如1 MB/min).
一个后端设备+许多前端设备是一个安装.我需要为数千个此类安装同时工作的基础设施做好准备.所以我的服务需要非常可靠.我的公司使用Azure云解决方案,所以我开始学习这个解决方案,我必须承认我有点困惑.我已经读过我需要使用IoT Hub,但它需要MQTT网关才能与MQTT设备对话.另一方面,如果我理解得很好,网关需要在某个VM上运行,所以这里我失去了我的解决方案的可扩展性.我对吗?现在,如果我需要支持100k或500k设备,那么我将需要另一台VM?还有一件事是我需要将所有这些与一些web服务集成(用于管理后端和前端设备),所以我需要webservice和MQTT代理之间的一些连接......
在我开始使用Azure之前,我想,我将简单地启动一个MQTT代理服务,并且神奇地它将是高度可扩展的,并且能够为数千个设备提供服务.
谁能解释我怎么咬这个?
我最近开始使用GraphQL,并且能够在AWS Lambda上成功设置它,为我提供了"无服务器"架构.但是,我想利用GraphQL订阅来获得更多实时功能.
我了解AWS Lambda不允许使用WebSockets,因为只要函数运行或达到超时限制,连接就会持续.
但是有没有办法设置GraphQL后端,以便它可以利用订阅并将其保留在AWS服务中,并使其像"无服务器"应用程序一样扩展.
类似于使用AWS Lambda进行GraphQL查询和变异,然后使用不同的AWS服务进行GraphQL订阅.
aws-lambda graphql serverless-framework graphql-subscriptions aws-appsync
我希望我清楚我的问题,所以这里.在我们的应用程序的注册流程中,我们询问用户的用户名,电子邮件和密码.但是,我们不要求确认/验证用户的电子邮件以继续使用该应用程序.根据我们的IT部门 - Azure AD B2C要求在最终用户首次注册时验证电子邮件地址.这是绝对真理吗?其他应用程序需要电子邮件,但仍然会让用户无需确认即可使用服务.
我们了解风险,如果用户决定使用他们不拥有的电子邮件,则会对用户施加压力.此方案的详细信息将在法律披露中详细说明.因此,重置密码,通知等对此用户不起作用.
我无法使AWS Amplify验证到我的AWS Cognito设置。我使用以下代码进行设置。
import Amplify from 'aws-amplify-react-native';
import { Auth } from 'aws-amplify-react-native';
Amplify.configure({
Auth: {
IdentityPoolId: 'us-west-2:XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
region: 'us-west-2',
UserPoolId: 'us-west-2_XXXXXXXX',
ClientId: 'XXXXXXXXXXXXXXX'
}
});
Run Code Online (Sandbox Code Playgroud)
和此代码登录
Auth.signIn(this.state.username, this.state.password)
.then(user => console.log(user))
.catch(err => console.log(err)); //"No userPool" logged here
Run Code Online (Sandbox Code Playgroud)
但是我收到错误没有userPool记录为错误。
此处的示例:https : //github.com/aws/aws-amplify/blob/master/media/authentication_guide.md具有一些以小写开头的配置属性,但是当我遵循时,会出现红色屏幕。
假设我有一个具有一些API的ASP.NET应用程序。
例如,
{HostName}/api/a/*
{HostName}/api/b/*
Run Code Online (Sandbox Code Playgroud)
现在,我想禁用所有{HostName}/api/a/*API(但保持/api/b/*)。客户端调用/api/a/*API时,它们会收到404错误。当客户端调用/api/b/*API时,响应正常。
在c#ASP.NET应用程序中有什么方法可以做到这一点?
aws-appsync ×2
azure ×2
graphql ×2
javascript ×2
amazon-s3 ×1
api ×1
asp.net ×1
aws-amplify ×1
aws-lambda ×1
azure-ad-b2c ×1
c# ×1
cloud ×1
iot ×1
mqtt ×1
react-native ×1
reactjs ×1