本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Api Policy Component是一个HTTP服务,为授权合作伙伴提供阅读器端点的门面。它主要功能包括:为B2B合作伙伴添加计算字段、屏蔽或隐藏非授权内容、根据账户配置重写查询。该组件通常与代理(Varnish)一起部署在其与实际阅读器端点之间,因此阅读器端点配置选项称为代理配置选项。
该门面不定义自己的端点或接口契约,而是对Reader API的接口进行特定修改,且对其了解有限。
注意:一个策略可能被多个过滤器使用,过滤器也可能与多个策略协同工作。
| Api过滤器 | 描述 | 应用端点 |
|---|---|---|
| identifiersFilter | 除非存在INCLUDE_IDENTIFIERS策略,否则从响应中移除identifiers字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| webUrlAdder | 为特定内容的响应添加webUrl字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| AddCanonicalWebUrl | 为特定内容的响应添加canonicalWebUrl字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| addSyndication | 如果响应中不存在canBeSyndicated字段,则添加该字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| linkValidationFilter | 如果存在INCLUDE_RICH_CONTENT策略,则在请求查询中添加validateLinkedResources=true | /content, /enrichedcontent, /internalcontent |
| suppressMarkup | 除非存在INCLUDE_RICH_CONTENT策略,否则从响应的bodyXML和openingXML JSON字段中移除富内容相关标记 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| mainImageFilter | 除非存在INCLUDE_RICH_CONTENT策略,否则从响应中移除mainImage字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| alternativeTitlesFilter | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除alternativeTitles字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| alternativeImagesFilter | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除alternativeImages字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| alternativeStandfirstsFilter | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除alternativeStandfirsts字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| removeCommentsFieldRegardlessOfPolicy | 从响应中移除comments字段 | /content |
| stripProvenance | 除非存在INCLUDE_PROVENANCE策略,否则从响应中移除publishReference和masterSource字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent, /lists |
| stripLastModifiedDate | 除非存在INCLUDE_LAST_MODIFIED_DATE策略,否则从响应中移除lastModified字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent, /lists |
| stripOpeningXml | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除openingXML字段 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| removeAccessFieldRegardlessOfPolicy | 从响应中移除accessLevel字段 | /content, /content-preview, /internalcontent-preview |
| canBeDistributedAccessFilter | 对于没有canBeDistributed=yes字段的内容,返回HTTP 403"Access denied"响应,除非存在INTERNAL_UNSTABLE策略 | /content, /enrichedcontent, /internalcontent |
| canBeSyndicatedAccessFilter | 当存在RESTRICT_NON_SYNDICATABLE_CONTENT策略时,对于没有canBeSyndicated=yes字段的内容,返回HTTP 403"Access denied"响应 | /content, /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| unrolledContentFilter | 如果存在INCLUDE_RICH_CONTENT和EXPAND_RICH_CONTENT策略,则在请求查询中添加unrollContent=true | /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| stripCommentsFields | 除非存在INCLUDE_COMMENTS策略,否则从响应中移除comments字段 | /content-preview, /internalcontent-preview, /enrichedcontent, /internalcontent |
| brandFilter | 如果存在FASTFT_CONTENT_ONLY策略,则在请求查询中添加forBrand=XXX;如果存在EXCLUDE_FASTFT_CONTENT策略,则添加notForBrand=XXX(其中XXX为FastFT的品牌ID) | /content/notifications |
| mediaResourceNotificationsFilter | 如果存在INTERNAL_UNSTABLE策略,则在请求查询中添加type=all;否则添加type=article | /content/notifications |
| accessLevelPropertyFilter | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除accessLevel字段 | /enrichedcontent, /internalcontent |
| accessLevelHeaderFilter | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除X-FT-Access-Level头部 | /enrichedcontent, /internalcontent |
| contentPackageFilter | 除非存在INTERNAL_UNSTABLE策略,否则从响应中移除contains和containedIn字段 | /enrichedcontent, /internalcontent |
| editorialDeskFilter | 除非存在INTERNAL_ANALYTICS策略,否则从响应中移除editorialDesk字段 | /content, /enrichedcontent, /internalcontent |
| internalAnalyticsTagsFilter | 除非存在INTERNAL_ANALYTICS策略,否则从响应中移除internalAnalyticsTags字段 | /content, /enrichedcontent, /internalcontent |
| 策略 | 描述 | 影响字段 |
|---|---|---|
| INCLUDE_RICH_CONTENT | 允许在响应中返回富内容(图像)相关字段/内容 | mainImage, bodyXML, openingXML |
| INCLUDE_IDENTIFIERS | 允许在响应中包含identifiers字段 | identifiers |
| INCLUDE_COMMENTS | 允许在响应中包含comments字段 | comments |
| INCLUDE_PROVENANCE | 允许在响应中包含内容来源信息 | publishReference, masterSource |
| INCLUDE_LAST_MODIFIED_DATE | 允许在响应中包含lastModified字段 | lastModified |
| FASTFT_CONTENT_ONLY | 仅在通知响应中包含FastFT品牌内容的事件 | * |
| EXCLUDE_FASTFT_CONTENT | 在通知响应中排除FastFT品牌内容的事件 | * |
| INTERNAL_UNSTABLE | 允许包含被视为"不稳定"的内部使用字段 | alternativeTitles, alternativeImages, alternativeStandfirsts, openingXML, accessLevel, contains, containedIn |
| INTERNAL_ANALYTICS | 允许内部分析使用字段 | editorialDesk |
| EXPAND_RICH_CONTENT | 如果与INCLUDE_RICH_CONTENT同时存在,允许在响应中展开富内容相关字段 | mainImage, embeds, alternativeImages, promotionalImage, members, leadImages, image |
| RESTRICT_NON_SYNDICATABLE_CONTENT | 如果存在,非可联合内容将返回403 Forbidden HTTP错误响应 | canBeSyndicated |
通常,头部从网关通过门面转发到Varnish层。Varnish应执行类似的头部转发,使得此处看到的头部也会被阅读器API看到。
以下头部是例外,它们都直接与底层TCP连接和数据编码相关。由于请求工作流的每个环节都是到新主机的独立连接,这些头部不会从一个TCP连接转发到下一个,但可能由本地库(如Jersey Client、Jetty)重新生成:
编译、运行测试并构建jar:
mvn clean install
本地运行:
java -jar api-policy-component-service/target/api-policy-component-service-1.0-SNAPSHOT.jar server api-policy-component-service/config-local.yml
构建Docker镜像:
docker build -t coco/api-policy-component:your-version .
运行Docker容器:
docker run --rm -p 8080 -p 8081 --env "JAVA_OPTS=-Xms384m -Xmx384m -XX:+UseG1GC -server" --env "READ_ENDPOINT=localhost:8080:8080" --env "JERSEY_TIMEOUT_DURATION=***ms" coco/api-policy-component:your-version





免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429